Guide de développement
Tout le nécessaire pour lancer l'environnement de bunseed en mode développeur.
Tous les composants techniques sont décris dans l'architecture du projet
Organisation du repository
Tout le code bunseed se trouve sur le repository https://gitlab.com/getbuns/bunseed.git.
Pour le moment, il existe un sous-dossier pour :
coreblogging
Pré requis
Voici la liste des composants à installer pour lancer l'environnement de développement :
Les versions sont données à titre indicatif. C'est celle que j'utilise actuellement. Mais ça peut clairement fonctionner avec d'autres versions
gitdockerversion 20.10.22+docker composevia plugin docker ou script version 2.15.1+makeversion 4.2.1+ qui est utilisé pour automatiser le lancement, la création des images docker, la configuration et l'installation des dépendances
Get Started
Initialisation et premier lancement
Récupération des sources
git clone https://gitlab.com/getbuns/bunseed.git
cd bunseed
# Récupération des sources pour les sous-modules git
git submodule init
git submodule update
Pour pouvoir mettre à jour les submodule et push ses commits sur les repository, il faut récupérer
la branche principale.
Pour documentation (à lancer à la racine du projet)
cd documentation && git fetch
git checkout main
Pour le thème ghost (à lancer à la racine du projet)
cd blogging/ghost/content/themes/bunseed-ghost-theme && git fetch
git checkout main
On va maintenant configurer stripe-cli qui va servir de passerelle entre le site stripe et blogging en local.
Tous les flux venant de stripe vont être renvoyés vers blogging
Récupère la clé secrète sur https://dashboard.stripe.com/test/apikeys pour la mettre dans le fichier .env à la racine du projet.
# le fichier doit ressembler à ça
API_KEY=sk_test_Jtsetuidvteb75ec
Récupération en automatique de la clé secrète stripe pour communication avec blogging
$ make stripe-save-webhook-secret
Pour vérifier que la commande précédente s'est bien passée, il vérifier que la variable WEBHOOK_SECRET est bien dans fichier .env. Le fichier doit ressembler à :
API_KEY=sk_test_Jtsetuidvteb75ec
WEBHOOK_SECRET=whsec_STEARSTrstersutiersuiterst
En cas de problème => APPELER ROMAIN
On installe les dépendances des différents composants (les librairies dans node_modules)
make install-dependencies
On peut maintenant lancer l'environnement de développements
make start
La commande make start (pour info, la commande ne rend pas la main, il faut ouvrir un autre terminal en cas de besoin) :
- Lance les conteneurs
dockeren se basant sur le fichiercompose.yml - Démarre le service
coreen mode dev qui tourne sur strapi - Démarre le service
bloggingqui tourne sur ghost - Démarre une commande
stipe-clipour connecterstripeetblogging - Démarre le thème
video-makeren mode dev - Démarre
fake-smtppour simuler l'envoie des emails
core et blogging contiennent tous les deux un utilisateurs admin pré configuré :
core- http://localhost:8055admin@exampled1r3ctu5blogging- http://localhost:2368/ghostdev@demonopolisons.videodemodemo1010
Enfin, pour éviter de commit les updates de la base de données de blogging et les clés secrètes :
git update-index --skip-worktree .env blogging/ghost/content/data/ghost-dev.db core/app/.tmp/data.db
Une fois l'environnement de développement initialisé, plus besoin de lancer toutes ces commandes, il suffit le lancer la commande make start pour démarrer les différents composants.
Pense à connecter blogging et stripe depuis l'interface admin de blogging via http://localhost:2368/ghost/#/settings/members?showPortalSettings=true en cliquant sur le bouton en bas à gauche de stripe
Lancement de « tous les jours »
Une fois la phase d'initialisation terminée, plus besoin de relancer toutes les commandes précédentes.. Il suffit de lancer la commande make start à la racine du projet pour démarrer son environnement de développement.
Une fois lancé, on accède aux UI :
core- http://localhost:8055admin@exampled1r3ctu5blogging- http://localhost:2368/ghostdev@demonopolisons.videodemodemo1010fake-smtp- http://localhost:8025 mails envoyés depuisbloggingetcore
Pour les échanges de composant à composant au sein de l'environnement compose, des plusieurs alias existent.
core-->coreetcore.localblogging-->bloggingetblogging.local
Les emails réceptionné par fake-smtp sont supprimés à chaque lancement de l'environnement. Pas de persistance.