# Déploiement des apps decrypt ## Localisation de l'app Le code source du projet se trouve dans - `/var/www/app/app/owl-boilerplate/owl-boilerplate/` - `/var/www/app/_work/owl-boilerplate/owl-boilerplate/` Dans ce dossier se trouve 2 dossiers, un dossier `client/` avec le code source du frontend, et un dossier `server/` avec le code source du backend. ## Technologies Ci-dessous la liste des applications nécéssaires sur la machine pour que l'application puisse fonctionner - [NodeJS](https://nodejs.org/en) (>v16.17.1) - [NPM](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) (>v8.19.2) - [MongoDB](https://www.mongodb.com/) (>v6.0.2) - [MongoDB Tools](https://www.mongodb.com/try/download/atlascli) (optionnel)[^1] - [PM2](https://pm2.keymetrics.io/) (optionnel)[^2] [^1]: Les tools viennent avec une installation de MongoDB v5 ou supérieur. [^2]: PM2 n'est pas obligatoire à installer pour lancer l'application. ## Execution de l'application Dans le dossier `/server` de l'application se trouve un `package.json` avec un script `prod` pour lancer l'application en mode production. Il suffit de naviguer dans ce dossier pour ensuite executer `npm start prod` afin de lancer l'application. L'application se lance sur le port `4000` de la machine, (http://localhost:4000). Vous pourrez ensuite utiliser un reverse proxy de votre choix pour rediriger le domaine vers ce port. La configuration pour NGINX se trouve dans `/etc/nginx/sites-available/default` ## Variables d'environment Les variables d'environment se trouve dans `/var/www/app/app/owl-boilerplate/owl-boilerplate/server/.env`. Le fichier contient les variables suivantes: MONGODB_URL = XXXX ## L'url mongodb eg(mongodb://localhost/mon-app) DB_NAME = XXXX ## Le nom de la base de donnée eg: mon-app SALT = XXXX ## Valeur d'encryption des mot de passe pour bcrypt, eg: 15 APP_NAME = XXXX ## Le nom de l'application eg: MON-APP APP_HOST = XXXX ## L'hôte de l'application, eg: localhost DB_PORT = XXXX ## Le port utilisé pour MongoDB, eg: 27017 DB_HOST = XXXX ## L'hôte MongoDB, eg: localhost APP_PROTOCOL = XXXX ## Protocol à utiliser, eg: https APP_PORT = XXXX ## Le port de l'application, eg: 4000 APP_DOMAINS = XXXX ## Les domaines autorisés à communiquer avec le serveur eg: [https://google.com, https://inoui.com] APP_SMTP_HOST = XXXX ## L'hôte SMTP, eg: localhost APP_SMTP_PORT = XXXX ## Le port SMTP, eg: 25 APP_EMAIL_SENDER = XXXX ## Le nom de l'expéditeur de mails, eg: example@mail.com APP_EMAIL_PASSWORD = XXXX ## Le mot de passe du compte d'expéditeur de mail: eg: 123 APP_JWT_SECRET = XXXX ## La valeur d'encryption des tokens, eg: m0n-süper-h@sh APP_URL = XXXX ## L'url de l'application, eg: https://example.com SESSION_SECRET = XXXX ## La valeur d'encryption des cookies, eg: m0n-süper-h@sh NODE_ENV=production SW_ACCESS_ID = XXXX ## L'ID Scaleway (pour la sauvegarde journalière des données) SW_SECRET_KEY = XXXX ## La clé secrète Scaleway