Comprendre le projet¶
À quoi sert l'application ?¶
Bank Transaction automatise le suivi des paiements bancaires et le financement de clients. Elle est composée de 4 morceaux qui tournent ensemble :
| Morceau | Rôle | Nom technique |
|---|---|---|
| Le site | l'interface web qu'on utilise | frontend |
| L'API | le cerveau qui traite les données | backend |
| La base de données | là où tout est stocké | db (PostgreSQL) |
| pgAdmin | un outil web pour regarder la base | pgadmin |
Les 3 environnements¶
C'est la même application, installée 3 fois, pour 3 usages différents :
| Local | Test (dev) | Production | |
|---|---|---|---|
| Où | ton PC | le serveur | le serveur |
| Adresse | http://localhost:3004 |
https://test-transaction.boaz-study.tech |
https://transaction.boaz-study.tech |
| Pour qui | toi qui développes | essais avant la prod | les vrais clients |
| Données | jetables | copie de la prod | réelles |
| Services externes | version test | version test | version réelle |
| Se met à jour quand | tu lances la commande | tu pousses sur dev |
tu pousses sur main |
Règle d'or : on n'expérimente jamais directement en production. On teste en local, puis en test, et seulement après on passe en prod.
Comment tout est relié (schéma simple)¶
flowchart LR
PC["Ton PC<br/>(développement)"] -->|git push| GH["GitHub<br/>(le code)"]
GH -->|branche dev| R1["ROBOT<br/>(runner)"] --> TEST["TEST<br/>(serveur)"]
GH -->|branche main| R2["ROBOT<br/>(runner)"] --> PROD["PROD<br/>(serveur)"]
Le « ROBOT » = un programme installé sur le serveur (le « runner ») qui reçoit l'ordre de GitHub et met l'application à jour tout seul.
Où sont les choses importantes (sur le serveur)¶
Tout ce qui concerne le projet est regroupé dans un seul dossier :
1 2 3 4 5 6 7 | |
| Chose | Emplacement |
|---|---|
| Fichiers de configuration (mots de passe) | …/Projet_boaz_bank_transaction_fullstack/secrets/ |
| Outils de sauvegarde / restauration | …/Projet_boaz_bank_transaction_fullstack/ops/ |
| Sauvegardes locales (horodatées) | …/Projet_boaz_bank_transaction_fullstack/ops/Backup/ |
| Le proxy web (aiguille les adresses) — partagé | /home/ubuntu/nginx-proxy-center/ |
| Le code (dépôt GitHub) | Boaz-study-organization/Boaz-study-fullstack-bank-transaction |
Le proxy web et les données Docker (volumes) sont gérés à part car ils sont communs à plusieurs usages ; les sauvegardes, elles, sont bien dans le projet (
ops/Backup/) et dans le cloud (S3).
Avant de continuer¶
Choisis ta situation :
- Je veux développer sur mon PC → Déploiement Local
- Je veux comprendre / utiliser le test → Déploiement Dev / Test
- Je m'occupe de la production → Déploiement Production