[Aller au contenu](#main-content)

PREVIEW

[](/fr "Page d'accueil BearStudio")

[Prestations](/fr/prestations)[Équipe](/fr/equipe)[Blog](/fr/blog)

[Nous contacter](/fr/contact)Français

<!--astro:end-->

[Accueil](/fr)[Prestations](/fr/prestations)[Équipe](/fr/equipe)[Blog](/fr/blog)

<!--astro:end-->

<!-- Mobile Top Actions -->

Français

<!--astro:end-->

[Nous contacter](/fr/contact)

<!-- Content -->

[](/fr)

1. [Accueil](/fr)
2.
3. [Blog](/fr/blog)
4.
5. Comment déployer une application Sylius chez Clever Cloud ?

# Comment déployer une application Sylius chez Clever Cloud ?

Le 14 avr. 2021

par [Rudy Baer](/fr/equipe/rudy-baer)

<!-- Background (translate3d is for safari to apply mix-blend-overlay) -->

![](/_astro/sylius-clever-cloud-tuto-article.BCJ22yUA_Z2lFfV6.webp)

## De Sylius à Clever Cloud, il n’y a qu’un pas…

Sylius, framework e-commerce, et Clever Cloud, spécialiste de la mise en ligne de solutions web, sont deux incontournables à découvrir pour les développeurs curieux. Tour d’horizon des outils et focus sur notre méthode de déploiement d’une application Sylius chez Clever Cloud. 

## Sylius : le framework open-source pour e-commerce

Créé en 2016, [Sylius](https://sylius.com/) ne se définit pas comme une solution e-commerce mais bien comme étant un framework offrant aux développeurs **un environnement de [développement](/fr/prestations/developpement-web) solide pour la mise en place d’une solution de vente en ligne**. Sylius s’appuie notamment sur le framework PHP Symfony, pour offrir à ses utilisateurs une large possibilité d’évolutions et de fonctionnalités. Disponible en **open-source**, il permet à qui le souhaite d’en disposer (pour en savoir plus à propos de ce type de logiciel, je vous invite à lire cet [article](/fr/blog/articles/linux-logiciels-libres-et-open-source-retrouvez-votre-liberte) :) ).

## Clever Cloud : la plateforme d’automatisation pour vos projets

Fondée en 2010, [Clever Cloud](https://www.clever-cloud.com/fr/) est une SSII Nantaise **spécialisée dans le cloud computing**. La plateforme a pour but de simplifier la mise en ligne de solutions web, du déploiement jusqu’à l’hébergement. Clever Cloud propose un service complet qui permet aux entreprises de déployer sans avoir à gérer un serveur web. 

## Déployer son projet Sylius avec Clever Cloud, vu par BearStudio

Plusieurs possibilités sont envisageables pour déployer votre projet Sylius avec Clever Cloud. Dans cet article, nous décrirons pas à pas comment nous nous y sommes pris pour le déploiement et les méthodes utilisées. Vous pouvez ensuite **les adapter comme vous le souhaitez à votre projet**. Nous parlerons également régulièrement du terminal et des commandes utilisées, mais là encore vous pouvez opter pour une interface graphique afin de réaliser ces étapes. N’hésitez pas à nous partager vos tips à ce sujet via les réseaux sociaux !

## Comment générer le projet Sylius ?

Pour générer votre premier projet Sylius, rien de mieux que de prendre en livre de chevet la [documentation disponible en ligne](https://docs.sylius.com/en/latest/book/installation/installation.html). Celle-ci est assez complète et vous aidera à créer votre premier projet étape par étape.

Pour vous faire **gagner un peu de temps**, sachez que la ligne de commande suivante vous permettra de créer votre projet avec la version de Sylius que nous avons utilisée, avec la création du dossier *MyFirstShop* pour l’hébergement en local du projet.  Assurez vous de disposer de la version 2 de Composer (`composer -v`) et de PHP version 7.4 (`php -v`).

`composer create-project sylius/sylius-standard MyFirstShop`

Par la suite il vous faudra créer un nouveau dépôt Git via la commande `git init` afin de push vers Gitlab ou Github (découvrez ici le [git de survie](/fr/blog/articles/git) du BS).

Après cette installation, nous vous invitons à poster le projet sur [GitLab](https://about.gitlab.com/) pour pouvoir paramétrer l’intégration continue *(Continuous Integration)*, ce qui permettra, selon sa configuration, de déployer automatiquement votre code vers votre application Clever.

## Créer son application sur Clever Cloud

Il est maintenant temps de créer votre application sur Clever Cloud. Là encore, **le site officiel propose un très bon tutoriel** pour vous permettre de déployer votre [projet Symfony sur les services de Clever Cloud](https://www.clever-cloud.com/doc/php/tutorial-symfony/).

En quelques mots, via l’interface de Clever Cloud, il vous faudra choisir la création d’une nouvelle application et choisir PHP comme type de projet. Vous devez opter pour le type Git afin de faire le lien avec ce qui a précédemment été mis sur GitLab. Optez ensuite pour une instance XS et nommez votre application *MyFirstShop*.

Dans un second temps, vous devez **ajouter un addon de base de données pour compléter votre application** et permettre son bon fonctionnement. Par défaut, Sylius est configuré avec MySQL mais vous pouvez utiliser PostgreSQL en modifiant le fichier `config/package/prod/doctrine.yml`. Sélectionnez le plan DEV et nommez votre addon *MyFirstShop-db*.

Nous choisissons ensuite une version de PHP pour le projet, nous optons au minima pour une version 7.4.

Vous vous retrouvez alors sur le formulaire des variables d’environnement de votre application. Dans un premier temps, modifiez uniquement celle nommée `CC_PHP_VERSION` en lui attribuant la valeur `7.4`.

Pour associer son code à l’application de Clever, si vous êtes plutôt un adepte des lignes de commande, utilisez le [Clever CLI](http://clever-cloud.com/doc/clever-tools/getting_started/)[](http://clever-cloud.com/doc/clever-tools/getting_started/).

Créez l’app

`clever create --type php MyFirstShop`

Créez l’addon relié a l’app

`clever addon create mysql-addon MyFirstShop-db --link MyFirstShop`

## Paramétrer son application Sylius chez Clever Cloud

Pour paramétrer notre application, nous devons activer le *build* sur une instance dédiée. Rendez-vous dans le menu *Information*, dans la section *Application edition* :

![](/_astro/image-8-1024x109.BSzweS-w_1JkEtw.webp)

Ou via le CLI

*`` `clever scale --build-flavor M` ``*

Et ajoutez les variables d’environnement suivantes :

`APP_DEBUG = 0 (ou 1 si vous voulez activer le mode debug) APP_ENV = prod (ou dev) APP_SECRET = ThisTokenIsNotSoSecretChangeIt CC_WEBROOT = /public MAILER_URL = smtp://localhost DATABASE_URL = contenu de MYSQL_ADDON_URI`

Attention pour “DATABASE\_URL”, il est nécessaire de prendre le contenu de la variable MYSQL\_ADDON\_URI qui a été automatiquement ajoutée. Dans le tutoriel de Clever, il y a une coquille puisque `DATABASE_URL = $MYSQL_ADDON_URI` ne fonctionne pas.

Pour builder le front, il faut ajouter la variable `CC_POST_BUILD_HOOK = yarn install && yarn build`.

Ne pas oublier de cliquer sur *Update changes*, et ensuite *Restart the app to apply changes* :

![](/_astro/image-2-1024x486.BNVoLoYU_49S31.webp)

Cette configuration est également possible via le CLI :

`clever env set APP_DEBUG O clever env set APP_ENV prod clever env set APP_SECRET ThisTokenIsNotSoSecretChangeIt clever env set CC_WEBROOT /public clever env set MAILER_URL smtp://localhost clever env set DATABASE_URL  [contenu de $MYSQL_ADDON_URI] clever env set CC_POST_BUILD_HOOK "yarn install && yarn build"`

Ne pas oublier de *commit* les modifications pour pouvoir *push* l’application sur Clever Cloud. Maintenant que tout est prêt, il faut *push* l’application depuis Clever directement. Pour cela, dans le terminal, il faut lancer la commande `clever deploy`. Ensuite, si vous avez créé votre application via la Console Clever, il vous faut **lier votre application en local** à l’aide de `clever link <app_id>` avec `<app_id>` ayant pour valeur l’id de votre application, renseigné dans *Information > Application information*.

![](/_astro/image-7.DHqktuCY_2iLiBR.webp)

Après cette première étape, il faut **initialiser la base de données**. Depuis le terminal, lancez la commande `clever ssh`, ce qui vous permet d’accéder à la VM sur laquelle est déployée l’app :

![](/_astro/image-6.CMec133r_Z20qOAO.webp)

On descend alors dans le dossier présent et on lance la commande suivante.

`php bin/console doctrine:schema:update --force --env=prod`

![](/_astro/image-4-1024x230.CL1gysWi_2e491j.webp)

Pour initialiser la base avec les données injectées par Sylius.

`` `php bin/console sylius:fixtures:load --env=prod` ``

![](/_astro/image-5-1024x204.D3IWNai2_Z2rnzKk.webp)

`exit` pour quitter la VM puis `clever open` pour ouvrir l’application dans votre navigateur.

Et si ça fonctionne :

![Page du site généré](/_astro/image-2-1024x490.-65kwUp8_Z1IeL3G.webp)

Et voilà, vous savez tout sur le déploiement d’une application avec Sylius via Clever Cloud ! À très vite pour de nouvelles explications ;)

Publié le 14 avr. 2021

par [Rudy Baer](/fr/equipe/rudy-baer)

[](/fr)

1900 Route de Cailly\
76690 Saint-André-sur-Cailly\
Normandie, FRANCE

[Accueil ](/fr)[Prestations ](/fr/prestations)[UX/UI Design ](/fr/prestations/ux-design)[Développement Web ](/fr/prestations/developpement-web)[Développement Mobile ](/fr/prestations/developpement-mobile)[Boost Projet ](/fr/prestations/boost-projet)[Accompagnement CTO ](/fr/prestations/accompagnement-cto)[Intelligence Artificielle ](/fr/prestations/intelligence-artificielle)[Équipe ](/fr/equipe)[Blog ](/fr/blog)[Candidater ](/fr/contact/processus-candidature-bearstudio)[Branding ](/fr/branding)[Mentions légales](/fr/mentions-legales)

Suivez nous sur...

[ Linkedin ](https://www.linkedin.com/company/bearstudio/ "Linkedin")[ X (twitter) ](https://twitter.com/_BearStudio "X (twitter)")[ Facebook ](https://www.facebook.com/allyouneedisbear "Facebook")[ YouTube ](https://www.youtube.com/channel/UC-2hpnhKgU2C_OFucjEN0IA "YouTube")[ Instagram ](https://www.instagram.com/_bearstudio/ "Instagram")[ GitHub ](https://github.com/BearStudio "GitHub")[ Twitch](https://www.twitch.tv/bearstudiolive "Twitch")

Le BearStudio est supporté par la

![Region Normandie](/_astro/logo-region.BxVRy695_Z1lruBA.svg)

Créé en 2016, le BearStudio est un studio d'accompagnement de projets en R\&D : développement sur-mesure Web et mobile, études de faisabilité et audit technologique, rien ne nous effraie !

© Tous droits réservés
