[+] 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.
```
This commit is contained in:
Serreau Jovann
2025-12-11 17:22:26 +01:00
parent f9987d525e
commit 662bb0bcc6
89 changed files with 18001 additions and 6950 deletions

69
makefile Normal file
View File

@@ -0,0 +1,69 @@
# --- 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