Outils qui permettent de tester le projet en local dans des conditions similaires à la production (YUNOSHOST).
Clone du projet :
git clone https://github.com/KoroSensei10/svelte-revolution.git
bun install # ou bun i # Installe les dépendances du projet
Créer un fichier .env à la racine du projet avec les variables d'environnement suivantes :
ENV_FILE=.env.local
Dans le fichier .env.local vous pouvez changer les variables PUBLIC_DB_URL et DB_URL pour qu'elle pointe vers votre (ou n'importe laquelle) base de données PocketBase.
PUBLIC_DB_URL=http://localhost:8090
DB_URL=http://localhost:8090
Voir AI_README#setup
Lancer le serveur de développement :
bun dev
voir le AI_README#launch
Lancer le serveur de production :
bun run build &&
bun run preview
src/ : code sourcelib/ : fonctions utilitairescomponents/ : composantsroutes/ : Toutes les routes de l'applicationadmin/ : pages d'administrationpublic/ : fichiers statiquesbuild/ : fichiers générésnode_modules/ : dépendancesPour les curieux, un fichier deploy.old.sh est présent à la racine du projet. Il permettait de déployer le projet sur le serveur YUNOHOST, mais maintenant tout est automatisé.
Cela "explique", les noms de domaines, les manips à faire et plein d'autres choses
J'ai configurer des actions github pour que le projet se déploie automatiquement sur le serveur YUNOHOST à chaque push sur la branche staging.
Cela se fait aussi au redémarrage du serveur YUNOHOST, cela grâce à des services linux qui se lancent automatiquement (voir le fichier /etc/systemd/system/new-babel.service sur la machine).
Le fichier précédemment cité contient aussi un webhook discord pour notifier quand le serveur est redémarré.
Le déploiement sur Vercel se fait automatiquement à chaque push sur la branche staging et main.
Comme dit précédemment, le déploiement sur YUNOHOST se fait automatiquement à chaque push sur la branche staging grâce à des actions github.
De plus, un Webhook Discord est configuré pour notifier quand le déploiement à réussi ou échoué (voir les secrets github).
Pour réussir à déployer le projet sur le serveur YUNOHOST, il faut suivre les étapes suivantes :
.env avec la viariable ENV_FILE=.env.production pour que le projet utilise les variables d'environnement de production.env.production pour ajouter les variables d'environnementPUBLIC_DB_URL pour qu'elle pointe vers le serveur YUNOHOST vu de l'extérieur (ex: https://svelte-db.babel-revolution.fr)ORIGIN et mettre http://localhost:4173 sinon le serveur ne pourra pourra pas traiter les requêtes POST des formulaires