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