Skip to content

Commit

Permalink
Facilitate app setup by using a makefile & add details to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Pierstoval committed Jun 3, 2019
1 parent 982a44c commit 8a47258
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 8 deletions.
95 changes: 95 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
DOCKER_COMPOSE = docker-compose

EXEC_DB = $(DOCKER_COMPOSE) exec mysql
EXEC_PHP = $(DOCKER_COMPOSE) exec php

SYMFONY_CONSOLE = $(EXEC_PHP) bin/console
COMPOSER = $(EXEC_PHP) composer

DB_NAME = corahnrin
DB_USER = corahnrin
DB_PWD = corahnrin

CURRENT_DATE = `date "+%Y-%m-%d_%H-%M-%S"`

##
## Project
## -------
##

.DEFAULT_GOAL := help
help: ## Show this help message
@grep -E '(^[a-zA-Z_-]+:.*?##.*$$)|(^##)' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[32m%-20s\033[0m %s\n", $$1, $$2}' | sed -e 's/\[32m##/[33m/'
.PHONY: help

install: ## Install and start the project
install: config.php build start vendor db
.PHONY: install

config.php:
cp config.php.dist config.php

build: ## Build the Docker images
@$(DOCKER_COMPOSE) pull --include-deps
@$(DOCKER_COMPOSE) build --force-rm --compress
.PHONY: build

start: ## Start all containers and the PHP server
@$(DOCKER_COMPOSE) up -d --remove-orphans --no-recreate
@$(MAKE) start-php
.PHONY: start

stop: ## Stop all containers and the PHP server
@$(DOCKER_COMPOSE) stop
@$(MAKE) stop-php
.PHONY: stop

restart: ## Restart the containers & the PHP server
@$(MAKE) stop
@$(MAKE) start
.PHONY: restart

kill: ## Stop all containers
$(DOCKER_COMPOSE) kill
$(DOCKER_COMPOSE) down --volumes --remove-orphans
.PHONY: kill

reset: ## Stop and start a fresh install of the project
reset: kill install
.PHONY: reset

clean: ## Stop the project and remove generated files and configuration
clean: kill
rm -rf vendor tmp/* logs/404/*.log logs/cache_sql/*.log logs/error_tracking/*.log logs/exectime/*.log logs/referer/*.log logs/sql/*.log
.PHONY: clean

##
## Tools
## -----
##

cc: ## Clear and warmup PHP cache
rm -rf tmp/*
.PHONY: cc

db: ## Reset the development database
db: wait-for-db
$(EXEC_DB) bash /app/install_database.bash
.PHONY: db

vendor: ## Install PHP vendors
$(COMPOSER) install
.PHONY: vendor

wait-for-db:
@echo " Waiting for database..."
@for i in {1..5}; do $(EXEC_DB) mysql -u$(DB_USER) -p$(DB_PWD) -e "SELECT 1;" > /dev/null 2>&1 && sleep 1 || echo " Unavailable..." ; done;
.PHONY: wait-for-db

start-php:
$(DOCKER_COMPOSE) up -d --force-recreate php
.PHONY: start-php

stop-php:
$(DOCKER_COMPOSE) stop php
.PHONY: stop-php
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,19 @@ Ces contenus incluent tous les textes écrits dans chacune des 20 étapes de cr

# Installation

Utilisez Docker Compose (compatible toutes plateformes) :
Utilisez `make`:

```
# Installe un fichier de config par défaut (et fonctionnel)
$ cp config.php.dist config.php
$ make install
```

# Télécharger les images & les démarrer
$ docker-compose up -d
Cette commande va :

# Installer la base de données d'exemple
$ docker-compose exec mysql bash install_database.bash
```
* Créer un fichier `config.php` avec les informations par défaut pour faire fonctionner le projet
* Télécharger les images Docker nécessaires
* Démarrer les containers
* Installer les dépendances Composer
* Installer une base de données fonctionnelle, avec un compte administrateur `admin` (mot de passe `admin`), les informations nécessaires pour utiliser Corahn-Rin, ainsi que le personnage Yldiane par défaut pour tester l'export de la feuille de personnage en PDF.

# Debug mode

Expand Down
4 changes: 4 additions & 0 deletions docker/mysql/install.sql
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,10 @@ CREATE TABLE `est_characters` (
UNIQUE KEY `restriction user et name` (`char_name`,`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=673 DEFAULT CHARSET=utf8 AUTO_INCREMENT=673 ;

INSERT INTO `est_characters` VALUES
(608,'Yldiane','18','6','Tri-Kazel','{\"voies\":{\"1\":{\"id\":1,\"name\":\"Combativité\",\"val\":4},\"2\":{\"id\":2,\"name\":\"Créativité\",\"val\":3},\"3\":{\"id\":3,\"name\":\"Empathie\",\"val\":5},\"5\":{\"id\":5,\"name\":\"Idéal\",\"val\":1},\"4\":{\"id\":4,\"name\":\"Raison\",\"val\":2}},\"metier\":{\"id\":18,\"name\":\"Varigal\",\"description\":\"Voyageur, messager, porteur de nouvelles mais aussi de colis, le varigal est un lien entre les communautés éparses de Tri-Kazel.\\r\\nPassant l\'essentiel de sa vie sur les chemins, il est généralement bien accueilli quand il arrive dans un village.\\r\\nProches de la nature, les varigaux sont souvent les alliés des demorthèn.\"},\"region_naissance\":{\"id\":6,\"name\":\"Duché de Tulg\",\"royaume\":\"Taol-Kaer\",\"description\":\"\"},\"traits_caractere\":{\"defaut\":{\"id\":10,\"name\":\"Impulsive\"},\"qualite\":{\"id\":43,\"name\":\"Intuitive\"}},\"domaines\":{\"1\":{\"id\":1,\"name\":\"Artisanat\",\"description\":\"\",\"val\":0,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"2\":{\"id\":2,\"name\":\"Combat au Contact\",\"description\":\"\",\"val\":3,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"3\":{\"id\":3,\"name\":\"Discrétion\",\"description\":\"\",\"val\":2,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"4\":{\"id\":4,\"name\":\"Magience\",\"description\":\"\",\"val\":0,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"5\":{\"id\":5,\"name\":\"Milieu Naturel\",\"description\":\"\",\"val\":4,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"6\":{\"id\":6,\"name\":\"Mystères Demorthèn\",\"description\":\"\",\"val\":0,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"7\":{\"id\":7,\"name\":\"Occultisme\",\"description\":\"\",\"val\":0,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"8\":{\"id\":8,\"name\":\"Perception\",\"description\":\"\",\"val\":5,\"disciplines\":{\"102\":{\"id\":102,\"name\":\"Vigilance\",\"val\":6}},\"bonus\":0,\"malus\":0},\"9\":{\"id\":9,\"name\":\"Prière\",\"description\":\"\",\"val\":0,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"10\":{\"id\":10,\"name\":\"Prouesses\",\"description\":\"\",\"val\":3,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"11\":{\"id\":11,\"name\":\"Relation\",\"description\":\"\",\"val\":1,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"12\":{\"id\":12,\"name\":\"Représentation\",\"description\":\"\",\"val\":0,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"13\":{\"id\":13,\"name\":\"Science\",\"description\":\"\",\"val\":0,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"14\":{\"id\":14,\"name\":\"Tir et Lancer\",\"description\":\"\",\"val\":1,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"15\":{\"id\":15,\"name\":\"Voyage\",\"description\":\"\",\"val\":5,\"disciplines\":[],\"bonus\":0,\"malus\":0},\"16\":{\"id\":16,\"name\":\"Érudition\",\"description\":\"\",\"val\":3,\"disciplines\":[],\"bonus\":0,\"malus\":0}},\"avantages\":{\"2\":{\"id\":2,\"name\":\"Allié mentor\",\"val\":1}},\"desavantages\":[],\"revers\":{\"8\":{\"id\":8,\"name\":\"Solitude\",\"description\":\"Les proches, amis ou famille du personnage sont morts de façon douteuse\"}},\"desordre_mental\":{\"id\":2,\"name\":\"Exaltation\"},\"details_personnage\":{\"name\":\"Yldiane\",\"sexe\":\"Femme\",\"joueur\":\"Esteren\",\"histoire\":\"Yldiane est une jeune femme intuitive et curieuse, très attentive au monde qui l’entoure. Elle a un goût prononcé pour l’indépendance et s’accommode bien de la solitude. Tout du moins en apparence, car elle reste marquée par la disparition de ses proches lorsqu’elle était petite. Dans Melwan, elle n’a véritablement qu’une seule amie, Arven, qu’elle connaît depuis l’enfance. Le caractère spontané d’Yldiane pourra parfois la rendre impulsive ; elle connaît son défaut et essaye de le canaliser. En tant que varigale, elle a déjà eu plusieurs occasions de risquer sa vie et elle connaît nombre d’histoires concernant des confrères ou consoeurs qui sont morts pour avoir été trop curieux, ou trop téméraires. Mais malgré ses efforts, elle lutte en vain contre sa nature et lorsqu’elle n’a pas l’impression d’être en danger ou de prendre un risque réel, elle ne fait guère preuve de prudence. Parfois, il lui arrive de se demander ce qu’elle fait vraiment sur les routes, mais elle n’est guère portée sur l’introspection.\\r\\nDepuis son retour à Melwan, Yldiane est dans une position inconfortable. Sa grand-mère s’est montrée assez froide envers elle et son amie Arven est plus que jamais obsédée par sa carrière martiale. Surtout, Melwan est tout proche de Dearg, et si Yldiane ne se souvient qu’à peine des traits de sa soeur, ses pensées se tournent de plus en plus souvent vers elle.\",\"faits\":\"Yldiane est née à Melwan, elle est la petite-fille de la demorthèn Wailen. Enfant, elle était déjà d’un tempérament curieux et dégourdi, et elle posait d’innombrables questions à sa dàmàthair. La mort de ses parents, emportés par la maladie, puis le départ brutal pour le val de Dearg de sa grande soeur Adeliane, alors âgée de sept ans, la laissèrent triste et désemparée. Elle eut le plus grand mal à se remettre de ces deux événements qui survinrent la même année. Sa grand-mère s’occupa d’elle et pensa un temps l’initier aux arts demorthèn mais Yldiane ne ressentit que peu d’affinités avec cette vocation mystique et Wailen renonça. Yldiane était trop distraite, l’esprit sans cesse ailleurs, à songer à d’autres lieux, à sa soeur ou à ses parents qu’elle ne reverrait jamais, à s’interroger sur tout et n’importe quoi. Lentement, elle en vint à se convaincre qu’une toute autre vie l’attendait, quelque part. Ailleurs. Elle fut donc agréablement surprise aux alentours de ses quinze ans lorsqu’elle fit la connaissance d’un varigal, Jarn, surnommé « le balafré ». La jeune fille fut subjuguée par les récits fantastiques du voyageur et celui-ci ne tarda pas à lui proposer d’intégrer les rangs des varigaux. Yldiane sauta sur l’occasion et, après deux années d’un entraînement rigoureux sous la tutelle de Jarn, elle débuta sa carrière en solo dans le royaume de Reizh où elle livra plusieurs colis à différents destinataires. Le quotidien sur les routes était très loin de l’image romantique qu’elle s’en faisait. Les intempéries, la peur, la violence et parfois même des choses étranges tapies dans l’ombre… mais elle s’accrocha néanmoins à cette impression, cette certitude que quelque part, sa vie l’attendait, juste après la prochaine crête, juste de l’autre côté de la prochaine vallée. Après des mois difficiles dans le nord de Tri-Kazel, pendant lesquels elle se fit quelques ennemis, Yldiane reprit la direction de Taol-Kaer, avec un nouveau paquet à livrer à Tulg Naomh. Cette mission constituait pour elle l’occasion de repasser par son village natal, Melwan...\",\"description\":\"Grande, rousse...\"},\"inventaire\":{\"armes\":{\"11\":{\"id\":11,\"name\":\"Carath\",\"degats\":2,\"domaines\":{\"2\":\"Combat au Contact\"}}},\"armures\":{\"5\":{\"id\":5,\"name\":\"Cotte de cuir clouté\",\"protection\":2}},\"possessions\":[\"Toile de tente\",\"Grappin\",\"Pitons d\'escalade\",\"Plusieurs cartes\",\"Matériel de premiers secours\",\"Nécessaire d\'écriture\"],\"argent\":{\"braise\":0,\"azur\":0,\"givre\":0},\"objets_precieux\":[\"\"],\"artefacts\":[\"Nébulaire minéral\"]},\"orientation\":{\"name\":\"Instinctive\",\"instinct\":7,\"conscience\":3},\"residence_geographique\":\"Rural\",\"classe_sociale\":\"Paysan\",\"age\":21,\"potentiel\":2,\"peuple\":\"Tri-Kazel\",\"resistance_mentale\":{\"val\":6,\"exp\":0},\"sante\":19,\"vigueur\":10,\"defense\":{\"base\":12,\"amelioration\":0},\"survie\":3,\"rapidite\":{\"base\":9,\"amelioration\":0},\"traumatismes\":{\"permanents\":4,\"curables\":0},\"rindath\":{\"val\":12,\"max\":12},\"exaltation\":{\"val\":3,\"max\":3},\"ogham\":[\"\"],\"miracles\":{\"majeurs\":[],\"mineurs\":[],\"min\":[\"\"],\"maj\":[\"\"]},\"artefacts\":[],\"flux\":{\"mineral\":0,\"vegetal\":0,\"organique\":0,\"fossile\":0},\"arts_combat\":[],\"experience\":{\"total\":135,\"reste\":0}}','1377155125','1442823251',1,'ec7dcd50583c80ca9c3947f9db742581',25,1)
;

-- --------------------------------------------------------

--
Expand Down
1 change: 1 addition & 0 deletions webroot/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
*/
function sendMaj(values, action, empty, show_msg) {
show_msg = show_msg || false;
//show_msg = true; // Uncomment this if you want messages to be displayed to the user everytime there is an error.
if (empty !== true) {
$('#gen_send').html('<img src=\"'+base_url.replace(/(\/fr|\/en)/gi,'')+'/img/ajax-loader.gif\" />').css('visibility', 'visible');
} else {
Expand Down

0 comments on commit 8a47258

Please sign in to comment.