[+] chore(root): Initialise le projet avec une structure de base Crée la structure de base du projet Symfony, incluant les entités, services, formulaires, et templates nécessaires pour la gestion des comptes utilisateurs, la sécurité, et la gestion des mots de passe oubliés. Ajoute également la configuration pour la gestion des assets avec Vite, la gestion des fichiers avec Flysystem, et la génération de sitemaps. ```
70 lines
2.4 KiB
Makefile
70 lines
2.4 KiB
Makefile
# --- Configuration ---
|
|
PHP_EXEC = docker compose exec php
|
|
CONSOLE = $(PHP_EXEC) php bin/console
|
|
|
|
# --- Scripts d'automatisation ---
|
|
# Note: Ces scripts sont complexes et utilisent '$$' pour échapper le '$' pour Make.
|
|
|
|
# --- Commandes Docker ---
|
|
.PHONY: pull build start stop restart logs logs-php
|
|
pull: ## Récupère les dernières images docker
|
|
@docker compose pull
|
|
build: ## Construit (ou reconstruit) les images docker du projet
|
|
@docker compose build
|
|
start: ## Démarre tous les services en mode détaché
|
|
@docker compose up -d # Ajout de -d pour le mode détaché par défaut
|
|
stop: ## Arrête tous les services
|
|
@docker compose down
|
|
restart: stop start ## Redémarre tous les services
|
|
logs: ## Affiche les logs de tous les services
|
|
@docker compose logs -f
|
|
logs-php: ## Affiche les logs du service PHP
|
|
@docker compose logs -f php
|
|
|
|
|
|
# --- Commandes d'Initialisation ---
|
|
init: ## Installation initiale du projet (sans Vault/MinIO)
|
|
@make pull
|
|
@make build
|
|
@make start
|
|
@make composer-install
|
|
@sleep 5
|
|
@make db-create
|
|
@make migrate
|
|
|
|
|
|
# --- Commandes Symfony & DB ---
|
|
.PHONY: db-create entity migration migrate composer-install deps
|
|
db-create: ## Crée la base de données
|
|
@$(CONSOLE) doctrine:database:create --if-not-exists
|
|
db-drop: ## Crée la base de données
|
|
@$(CONSOLE) doctrine:database:drop --force
|
|
entity: ## Lance la création/mise à jour d'une entité
|
|
@$(CONSOLE) make:entity
|
|
migration: ## Génère une nouvelle migration
|
|
@$(CONSOLE) make:migration
|
|
migrate: ## Applique les migrations
|
|
@$(CONSOLE) doctrine:migrations:migrate --no-interaction
|
|
composer-install: ## Installe les dépendances Composer
|
|
@$(PHP_EXEC) composer install
|
|
deps: composer-install ## Alias pour composer-install
|
|
|
|
dbtest_add: ## Crée la base de données
|
|
@$(CONSOLE) doctrine:database:create --env=test
|
|
dbtest_migrate: ## Crée la base de données
|
|
@$(CONSOLE) doctrine:migrations:migrate --env=test --no-interaction
|
|
dbtest_remove: ## Crée la base de données
|
|
@$(CONSOLE) doctrine:database:drop --env=test --force
|
|
|
|
# --- Aide ---
|
|
.PHONY: help
|
|
help: ## Affiche cet écran d'aide
|
|
@echo "Commandes disponibles mainframe :"
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
|
|
|
.DEFAULT_GOAL := help
|
|
|
|
gitlab_build:
|
|
docker build -t tools-registry.esy-web.dev/mainframe/mainframe:php docker/php
|
|
docker push tools-registry.esy-web.dev/mainframe/mainframe:php
|