Aller au contenu
Accueil » Tutoriels » Tuto – Installer Sylius pas à pas !

Tuto – Installer Sylius pas à pas !

Vous souhaitez installer Sylius ? Vous n’y arrivez pas et/ou trouvez ça compliqué ? Pas de souci, voici un tutoriel simple et rapide qui vous permettra d’installer Sylius pas à pas !

La solution e-commerce Sylius, basée sur Symfony a le vent en poupe en ce moment et de plus en plus de développeurs et d’agences spécialisées e-commerce s’y intéressent. J’en fais évidemment partie car, cela fait évidemment parte de ma veille technologique mais j’aime connaître ce qui se fait dans le monde du e-commerce, que ce soit du côté des e-commerçants ou des agences / développeurs.

Je ne vais pas faire ici un comparatif de Sylius contre les autres solutions du marché, que ce soit Prestashop, Shopify ou encore WooCommerce mais plutôt un petit tutoriel rapide pour vous aider à l’installer simplement et vous permettre de le découvrir dans les meilleures conditions.

Petit préambule, j’utilise ici mon MacBook Pro sous MacOS Catalina 10.15.3 avec le serveur Apache 2.4, MySQL 5.7, PHP 7.2 (minimum requis pour Sylius). Le tout pour installer Sylius 1.6 !

Les pré-requis pour installer Sylius 1.6

En premier lieu, vérifiez que votre PC / Serveur est prêt pour recevoir Sylius 1.6. Vous aurez besoin de PHP 7.2 d’installé et de fonctionnel ainsi que MySQL 5.7 (si vous avez MySQL 8, ça fonctionne aussi, bien qu’elle soit peu rependue).

Au niveau de la base de données, je vous laisse préparer un utilisateur et une base de données vide.

N’oubliez pas d’installer Composer si vous ne l’avez pas encore !

On commence l’installation de Sylius 1.6 !

Installation de Sylius Standard

composer create-project sylius/sylius-standard nom_projet

Cela a pour effet de télécharger Sylius et toutes ses dépendances dans le dossier nom_projet que Composer va créer automatiquement. Une fois terminé, vous pouvez vous rendre dans ce dossier pour continuer.

On va devoir désormais préparer la connexion à la base de données. Je vais donc créer un fichier .env.local à la racine de Sylius où je vais juste insérer la variable d’environnement suivante :

DATABASE_URL=mysql://root:root@localhost/db_name

Je vous laisse bien entendu modifier les valeurs ici présentes par les vôtres. Une fois OK pour vous, vous pouvez jouer cette commande qui va vraiment installer Sylius et configurer quelques éléments par défaut.

php bin/console sylius:install

Pendant cette installation, il y aura quelques champs à remplir en mode interactif, notamment si vous voulez des sample data ainsi que la devise par défaut (mettez EUR), la locale par défaut (mettez fr_FR) et les informations de connexion pour votre compte administrateur.

Installation du front-end

Sylius utilise Gulp pour gérer ses assets et le gestionnaire de paquet Yarn. Si vous n’avez pas Yarn installer, je vous laisse l’installer, pour mon cas, j’ai du l’installer avec brew install yarn. Une fois installé, utilisez

yarn install

Une fois terminé, il faut build le front-end avec

yarn build

Voilà, votre boutique Sylius est techniquement installée, il ne vous reste plus qu’à y accéder.

Accédez à votre boutique Sylius

En utilisant le Symfony Web Server

Symfony embarque le nécessaire pour faire tourner un serveur standalone, il vous suffit de jouer la commande symfony server:start ou php bin/console server:start. Ainsi, vous pouvez vous accéder à votre boutique avec l’URL http://127.0.0.1:8000et l’administration avec http://127.0.0.1:8000/admin.

En utilisant Apache 2.4

Si comme moi vous avez Apache 2.4 d’installé et configuré sur votre serveur, aucun souci, vous pouvez l’utiliser également. Je vous laisse ma configuration, qui fonctionne très bien et qui permet d’accéder à ma boutique Sylius depuis l’URL https://dev.sylius.testet l’administration via https://dev.sylius.test/admin.

<VirtualHost *:80>
   DocumentRoot "/usr/local/var/www/sylius/sylius/public"
   ServerName dev.sylius.test
   ErrorLog "/usr/local/var/log/httpd/sylius_error_log"
   CustomLog "/usr/local/var/log/httpd/sylius_access_log" common
   <Directory "/usr/local/var/www/sylius/sylius/public">
        AllowOverride All
        Require all granted
         <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ index.php [QSA,L]
        </IfModule>
   </Directory>
</VirtualHost>

<VirtualHost *:443>
   DocumentRoot "/usr/local/var/www/sylius/sylius/public"
   ServerName dev.sylius.test
   SSLEngine on
   SSLCertificateFile "/usr/local/etc/httpd/server.crt"
   SSLCertificateKeyFile "/usr/local/etc/httpd/server.key"
   ErrorLog "/usr/local/var/log/httpd/sylius_error_log"
   CustomLog "/usr/local/var/log/httpd/sylius_access_log" common
   <Directory "/usr/local/var/www/sylius/sylius/public">
        AllowOverride All
        Require all granted
         <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ index.php [QSA,L]
        </IfModule>
   </Directory>
</VirtualHost>
127.0.0.1 dev.sylius.test

La partie du Virtual Host pour le port 80 (HTTP only) n’est pas utile pour moi, mais je vous la laisse au cas où vous ne voulez pas utiliser le HTTPS ou si vous n’avez pas de certificat utilisable pour le moment.

Une fois le VH configuré, redémarrez votre serveur et votre boutique est accessible !

En utilisant NGINX

Pour utiliser Sylius avec Nginx, c’est pas très compliqué non plus, il faut éditer ce ficher sudo vim /etc/nginx/sites-available/sylius.conf et y mettre le contenu suivant

server {
  listen 80;
  server_name example.com;
  root /var/www/sylius/public;
  location / {
    try_files $uri /index.php$is_args$args;
  }
  location ~ ^/index\.php(/|$) {
    fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    internal;
  }
  location ~ \.php$ {
    return 404;
  }
  client_max_body_size 6m;
}

Sauvegarder le fichier et activez le VH avec la commande suivante : sudo ln -s /etc/nginx/sites-available/sylius.conf /etc/nginx/sites-enabled/

Rechargez le service avec sudo systemctl reload nginx.service et voilà, terminé 🙂 !

Découverte rapide

Front-Office

Le front-office par défaut est assez simple mais est pleinement fonctionnel. Vous avez ainsi par défaut un sélecteur de langues, devises, le tout avec une traduction française intégrale et un mode responsive convaincant ! Les options essentielles à toutes les boutiques e-commerces sont présentes et vous permettent de commencer à vendre rapidement et efficacement

Back-Office

C’est la partie un peu plus compliquée à prendre en main mais finalement, tout est à sa place. Comme je vous le disais pour le front, en back-office aussi tout est fait pour vous permettre de vendre vite et bien. L’intégration de Stripe et de PayPal est proposée par défaut, vous pouvez les configurer et les activer en quelques clics.

J’aime beaucoup la gestion des commandes qui est assez simple, quelques boutons pour confirmer le paiement et pour confirmer l’expédition. En fin de compte, tout est plutôt simple si tant est que l’on connaisse où ça se trouve !

Conclusion

Vous pouvez ainsi tester ce que propose ce framework e-commerce venu tout droit de Pologne et basé sur Symfony qui commence à faire parler de lui en France grâce à sa puissance, adaptabilité et sa communauté grandissante !

Je prépare d’ores et déjà un prochain tutoriel qui vous permettra de commencer à développer sur Sylius !


N’hésitez pas à poser des questions en commentaires ou évoquer les difficultés que vous avez rencontrées à l’installation.

Également, n’hésitez pas à venir me voir, ici ou sur LinkedIn, si vous souhaitez évoquer les différences, points forts et points faibles de Sylius par rapport à ses concurrents directs que sont Prestashop, Shopify et WooCommerce ou simplement discuter de e-commerce !

plus d’information sur Sylius sur cet article