Loading Makefile 0 → 100644 +130 −0 Original line number Diff line number Diff line # On s'appuie sur le .env include .env ifeq ($(APP_ENV),dev) PROFILS := --profile dev else PROFILS := --profile prod endif ifeq ($(MAIL_ENABLED),true) ifeq ($(MAIL_SMTP_HOST),) # Si le MAIL_SMTP_HOST n'est pas renseigné, alors on va utiliser un mailer local pour récupérer les mails # S'il est renseigné, alors on considère qu'on va utiliser un serveur SMTP externe PROFILS += --profile mail endif endif ALL_PROFILS := --profile dev --profile prod --profile bdd --profile mail # Commandes help: @echo "Commandes disponibles:" @echo "" @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) @echo "" @echo "Utilisez 'make <commande>' avec une des commandes ci-dessus." .PHONY: help install: ## Build des conteneurs de l'application docker compose $(PROFILS) up -d .PHONY: install uninstall: ## Désinstallation docker compose $(ALL_PROFILS) down --rmi all --volumes --remove-orphans docker network rm $(APP_NAME)-network -f .PHONY: uninstall start: ## Démarre les conteneurs de l'application docker compose $(PROFILS) start .PHONY: start stop: ## Stoppe les conteneurs de l'application docker compose $(PROFILS) stop .PHONY: stop bash: ## Entrer dans le bash du container php docker exec -it $(APP_NAME)-php /bin/bash .PHONY: bash bash-apache: ## Entrer dans le container Apache docker exec -it $(APP_NAME)-apache /bin/sh .PHONY: bash-apache bash-node: ## Entrer dans le container Node.js docker exec -it $(APP_NAME)-nodejs /bin/sh .PHONY: bash-node logs: ## Afficher les logs des containers docker docker compose $(PROFILS) logs -f --tail=100 .PHONY: logs update-bdd: ## Mise à jour de la base de données docker exec -it $(APP_NAME)-php /var/www/html/bin/ose-code test6 update-bdd .PHONY: update-bdd update-ddl: ## Mise à jour des définitions de la base de données docker exec -it $(APP_NAME)-php /var/www/html/bin/ose update-ddl docker exec -it $(APP_NAME)-php chown -R $(DEV_HOST_USER_ID):$(DEV_HOST_USER_ID) * .PHONY: update-bdd clear-cache: ## Vide le cache de l'application docker exec -it $(APP_NAME)-php /var/www/html/bin/ose clear-cache .PHONY: clear-cache rebuild: ## Reconstruit tous les conteneurs docker compose $(ALL_PROFILS) down -v docker compose $(PROFILS) build --no-cache docker compose $(PROFILS) up -d .PHONY: rebuild clean: ## Vide les caches Docker @echo "===========================================================" @echo " /!\ ATTENTION: DESTRUCTIVE Docker cleanup operation /!\ " @echo "===========================================================" @echo "Cette opération va supprimer tous les objets suivants de votre instance Docker:" @echo " - Tous les containers non utilisés" @echo " - Tous les réseaux non utilisés" @echo " - Toutes les images dockers non utilisées" @echo " - Tous les volumes non utilisés" @echo " - Tous les caches seront vidés" @echo "" @echo "CETTE ACTION NE POURRA PAS ÊTRE ANNULÉE!" @echo "" @read -p "Confirmez-vous ce nettoyage complet ? [o/N] " confirm; \ if [ "$$confirm" = "o" ] || [ "$$confirm" = "O" ]; then \ docker compose $(PROFILS) down -v; \ docker system prune -af --volumes; \ echo "Ménage fait"; \ else \ echo "Ménage annulé"; \ fi .PHONY: clean No newline at end of file config.local.php.default +8 −1 Original line number Diff line number Diff line Loading @@ -271,14 +271,21 @@ return [ /* Génération d'états de sortie avec Unoconv */ 'etats-sortie' => [ /* Serveur où se situe le service Unoconv */ /* Serveur où se situe le service Unoconv ou odconv */ 'host' => '127.0.0.1', // par défaut sur la même machine que OSE /* Port utilisé par odconv, si vous utilisez odconv */ 'port' => 80, // par défaut sur la même machine que OSE /* Si vous souhaitez utiliser odconv, décommentez la ligne ci-dessous */ //'command' => 'odconv', /* Répertoire de travail utilisé à la fois par OSE et par le service Unoconv */ 'tmp-dir' => __DIR__ . '/cache/', // par défaut dans le répertoire cache de OSE ], /* Fichiers */ 'fichiers' => [ /* file => dans le système de fichiers par défaut, bdd => en base de données par défaut */ Loading config/autoload/application.global.php +3 −0 Original line number Diff line number Diff line Loading @@ -32,10 +32,13 @@ return [ 'application' => [ 'etats-sortie' => [ 'host' => AppAdmin::config()['etats-sortie']['host'] ?? '127.0.0.1', 'port' => AppAdmin::config()['etats-sortie']['port'] ?? 80, 'command' => AppAdmin::config()['etats-sortie']['command'] ?? \Unicaen\OpenDocument\Document::CONV_COMMAND_UNOCONV, 'tmp-dir' => AppAdmin::config()['etats-sortie']['tmp-dir'] ?? 'cache/', ], ], 'view_manager' => [ 'display_not_found_reason' => AppAdmin::config()['global']['affichageErreurs'] ?? true, // display 404 reason in template 'display_exceptions' => AppAdmin::config()['global']['affichageErreurs'] ?? true, Loading config/autoload/unicaen-vue.global.php +4 −2 Original line number Diff line number Diff line <?php $hostUrl = ($_ENV['REQUEST_SCHEME'] ?? 'http').'://'.($_ENV['APP_HOST'] ?? 'localhost').':'.($_ENV['APP_VITE_PORT'] ?? 5133); return [ 'unicaen-vue' => [ 'host' => 'http://localhost:5133', 'host' => $hostUrl, 'hot-loading' => AppAdmin::inDev() ? (AppAdmin::config()['dev']['hot-loading'] ?? false) : false, 'dist-path' => 'public/dist', 'dist-url' => 'dist', Loading module/EtatSortie/src/Service/EtatSortieService.php +6 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,12 @@ class EtatSortieService extends \Application\Service\AbstractEntityService if (isset($this->config['host'])) { $document->setHost($this->config['host']); } if (isset($this->config['port'])) { $document->setPort((int)$this->config['port']); } if (isset($this->config['command'])) { $document->setConvCommand($this->config['command']); } if (isset($this->config['tmp-dir'])) { $document->setTmpDir($this->config['tmp-dir']); } Loading Loading
Makefile 0 → 100644 +130 −0 Original line number Diff line number Diff line # On s'appuie sur le .env include .env ifeq ($(APP_ENV),dev) PROFILS := --profile dev else PROFILS := --profile prod endif ifeq ($(MAIL_ENABLED),true) ifeq ($(MAIL_SMTP_HOST),) # Si le MAIL_SMTP_HOST n'est pas renseigné, alors on va utiliser un mailer local pour récupérer les mails # S'il est renseigné, alors on considère qu'on va utiliser un serveur SMTP externe PROFILS += --profile mail endif endif ALL_PROFILS := --profile dev --profile prod --profile bdd --profile mail # Commandes help: @echo "Commandes disponibles:" @echo "" @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) @echo "" @echo "Utilisez 'make <commande>' avec une des commandes ci-dessus." .PHONY: help install: ## Build des conteneurs de l'application docker compose $(PROFILS) up -d .PHONY: install uninstall: ## Désinstallation docker compose $(ALL_PROFILS) down --rmi all --volumes --remove-orphans docker network rm $(APP_NAME)-network -f .PHONY: uninstall start: ## Démarre les conteneurs de l'application docker compose $(PROFILS) start .PHONY: start stop: ## Stoppe les conteneurs de l'application docker compose $(PROFILS) stop .PHONY: stop bash: ## Entrer dans le bash du container php docker exec -it $(APP_NAME)-php /bin/bash .PHONY: bash bash-apache: ## Entrer dans le container Apache docker exec -it $(APP_NAME)-apache /bin/sh .PHONY: bash-apache bash-node: ## Entrer dans le container Node.js docker exec -it $(APP_NAME)-nodejs /bin/sh .PHONY: bash-node logs: ## Afficher les logs des containers docker docker compose $(PROFILS) logs -f --tail=100 .PHONY: logs update-bdd: ## Mise à jour de la base de données docker exec -it $(APP_NAME)-php /var/www/html/bin/ose-code test6 update-bdd .PHONY: update-bdd update-ddl: ## Mise à jour des définitions de la base de données docker exec -it $(APP_NAME)-php /var/www/html/bin/ose update-ddl docker exec -it $(APP_NAME)-php chown -R $(DEV_HOST_USER_ID):$(DEV_HOST_USER_ID) * .PHONY: update-bdd clear-cache: ## Vide le cache de l'application docker exec -it $(APP_NAME)-php /var/www/html/bin/ose clear-cache .PHONY: clear-cache rebuild: ## Reconstruit tous les conteneurs docker compose $(ALL_PROFILS) down -v docker compose $(PROFILS) build --no-cache docker compose $(PROFILS) up -d .PHONY: rebuild clean: ## Vide les caches Docker @echo "===========================================================" @echo " /!\ ATTENTION: DESTRUCTIVE Docker cleanup operation /!\ " @echo "===========================================================" @echo "Cette opération va supprimer tous les objets suivants de votre instance Docker:" @echo " - Tous les containers non utilisés" @echo " - Tous les réseaux non utilisés" @echo " - Toutes les images dockers non utilisées" @echo " - Tous les volumes non utilisés" @echo " - Tous les caches seront vidés" @echo "" @echo "CETTE ACTION NE POURRA PAS ÊTRE ANNULÉE!" @echo "" @read -p "Confirmez-vous ce nettoyage complet ? [o/N] " confirm; \ if [ "$$confirm" = "o" ] || [ "$$confirm" = "O" ]; then \ docker compose $(PROFILS) down -v; \ docker system prune -af --volumes; \ echo "Ménage fait"; \ else \ echo "Ménage annulé"; \ fi .PHONY: clean No newline at end of file
config.local.php.default +8 −1 Original line number Diff line number Diff line Loading @@ -271,14 +271,21 @@ return [ /* Génération d'états de sortie avec Unoconv */ 'etats-sortie' => [ /* Serveur où se situe le service Unoconv */ /* Serveur où se situe le service Unoconv ou odconv */ 'host' => '127.0.0.1', // par défaut sur la même machine que OSE /* Port utilisé par odconv, si vous utilisez odconv */ 'port' => 80, // par défaut sur la même machine que OSE /* Si vous souhaitez utiliser odconv, décommentez la ligne ci-dessous */ //'command' => 'odconv', /* Répertoire de travail utilisé à la fois par OSE et par le service Unoconv */ 'tmp-dir' => __DIR__ . '/cache/', // par défaut dans le répertoire cache de OSE ], /* Fichiers */ 'fichiers' => [ /* file => dans le système de fichiers par défaut, bdd => en base de données par défaut */ Loading
config/autoload/application.global.php +3 −0 Original line number Diff line number Diff line Loading @@ -32,10 +32,13 @@ return [ 'application' => [ 'etats-sortie' => [ 'host' => AppAdmin::config()['etats-sortie']['host'] ?? '127.0.0.1', 'port' => AppAdmin::config()['etats-sortie']['port'] ?? 80, 'command' => AppAdmin::config()['etats-sortie']['command'] ?? \Unicaen\OpenDocument\Document::CONV_COMMAND_UNOCONV, 'tmp-dir' => AppAdmin::config()['etats-sortie']['tmp-dir'] ?? 'cache/', ], ], 'view_manager' => [ 'display_not_found_reason' => AppAdmin::config()['global']['affichageErreurs'] ?? true, // display 404 reason in template 'display_exceptions' => AppAdmin::config()['global']['affichageErreurs'] ?? true, Loading
config/autoload/unicaen-vue.global.php +4 −2 Original line number Diff line number Diff line <?php $hostUrl = ($_ENV['REQUEST_SCHEME'] ?? 'http').'://'.($_ENV['APP_HOST'] ?? 'localhost').':'.($_ENV['APP_VITE_PORT'] ?? 5133); return [ 'unicaen-vue' => [ 'host' => 'http://localhost:5133', 'host' => $hostUrl, 'hot-loading' => AppAdmin::inDev() ? (AppAdmin::config()['dev']['hot-loading'] ?? false) : false, 'dist-path' => 'public/dist', 'dist-url' => 'dist', Loading
module/EtatSortie/src/Service/EtatSortieService.php +6 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,12 @@ class EtatSortieService extends \Application\Service\AbstractEntityService if (isset($this->config['host'])) { $document->setHost($this->config['host']); } if (isset($this->config['port'])) { $document->setPort((int)$this->config['port']); } if (isset($this->config['command'])) { $document->setConvCommand($this->config['command']); } if (isset($this->config['tmp-dir'])) { $document->setTmpDir($this->config['tmp-dir']); } Loading