-
Front BDC: Bureau de change
-
Front GI: Gestion interne
-
Front EA: Espace adhérents
-
API globale: Django REST Framework
-
Cyclos: App monétaire/bancaire (image: cyclos/cyclos:4.6.1, dépendant de pgSQL 9.* -> version a définir + PostGIS 2.2)
-
Dolibarr custom Euskalmoneta: CRM pour gestion des adhérents, etc... (version 3.9 custom Euskalmoneta + docker-compose custom META-IT + MariaDB 10.1)
- Branche utilisée: develop
La méthode que j'utilise pour travailler dans cet environnement:
- Je lance tous les services
docker-compose up -d
- Je stoppe ceux que je vais avoir besoin de redémarrer manuellement
docker-compose stop api
docker-compose stop bureaudechange
- Je les relance individuellement
docker-compose up api
docker-compose up bureaudechange
- Si vous modifiez du React (JavaScript ou JSX), il est obligatoire de lancer cette commande:
Elle lance le watcher webpack, et c'est lui qui compile notre JSX et gère nos dépendances Web, l'output de cette commande
est un (ou +) bundle(s) se trouvant dans /assets/static/bundles
du container bureaudechange
.
docker-compose exec bureaudechange npm run watch
Il existe également 2 autres commandes:
Cette commande est lancée automagiquement lors d'un build du docker bureaudechange (cf. Dockerfile), il va lui aussi compiler et produire les output bundles (avec les dépendances de Dev), mais sans le watch évidemment.
docker-compose exec bureaudechange npm run build
Comme précédemment, mais celle-ci est utilisée pour une mise en production (avec les dépendances de Prod, donc), webpack va compresser les scripts/css et va retirer les commentaires, entre autres choses...
docker-compose run bureaudechange npm run build-production
Pour corriger les problèmes de droit sur dolibarr :
docker-compose exec dolibarr-app chown -hR www-data:www-data /var/www/documents
Dans le cas où l'on veut remettre à zéro les bases de données Cyclos et/ou Dolibarr, il faudra effectuer depuis le dossier de l'api:
# pour Cyclos
(sudo) rm -rf data/cyclos/
(sudo) rm etc/cyclos/cyclos_constants.yml
# pour Dolibarr
(sudo) rm -rf data/mariadb/
Afin de supprimer les données liées au Cyclos et/ou Dolibarr actuels.
Puis, stopper toute la pile API (Cyclos + Dolibarr, et leurs bases de données…):
docker-compose stop
La relancer:
docker-compose up -d
Il est possible de jeter un oeil aux logs des restauration pour s'assurer de leur bon fonctionnement:
# pour Cyclos
docker-compose logs -f cyclos-db
# pour Dolibarr
docker-compose logs -f dolibarr-db
Pour Cyclos, une fois le restore terminé, il faudra redémarrer cyclos-app
:
docker-compose restart cyclos-app
L'entrypoint de l'API devrait maintenant pouvoir se connecter à cyclos-app
, et ainsi lancer les scripts d'init de Cyclos.
docker-compose logs -f api
Une fois ces scripts passés: l'API démarre enfin Django, et le développement peut commencer.
docker-compose exec api ./manage.py migrate
docker-compose exec api pip install -r requirements.txt
Afin d'effectuer les différentes opérations de nos applications, nous avons besoin avant toute chose d'initier les flux d'Eusko.
Cette étape est maintenant automatisée dans le script init_test_data.py
, ce qui suit reste pour documentation, nous pouvons d’ores et déjà aller au point II).
Pour cela, rendez-vous dans l'interface d'administration de Cyclos.
Connectez-vous avec les identifiants Gestion interne (demo/demo), puis dans Banking > System payment > Between system accounts
.
Rentrer dans le formulaire:
From account: Compte de débit eusko billet
Montant: 126,500 EUS.
Rendez-vous dans l'application Gestion interne pour sortir ces nouveaux billets du Coffre:
- Se connecter avec les identifiants notés ci-dessus
- Dans
Coffre > Sortie
, mettre un certain montant, 500 par exemple vers un bureau de change donné, comme Euskal Moneta (B001).
Vous pouvez maintenant déclarer une entrée stock dans l'application Bureau de change en se connectant avec le compte B001:
Gestion > Stock de billets > Entrée
, sélectionner la liste correspondante à votre Sortie coffre.... Et voilà !
Une fois ceci fait, vous avez accès à toutes les actions possibles dans l'application BDC (sauf cotisation en Eusko, il faudra faire un change en premier lieu):
- Change
- Cotisation Eusko
- Reconversions
- Sortie stock, etc...