Aller au contenu

Installation et configuration

Prérequis

  • PHP 8.1 ou supérieur
  • Composer
  • MySQL
  • Extensions PHP requises par Composer, notamment PDO MySQL, GD, Intl, Sodium et Zip

Installation locale

composer install
php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate
php bin/console cache:clear

Lancer ensuite l’application avec Symfony CLI, Apache ou PHP-FPM selon l’environnement.

Variables d’environnement

Variable Usage
APP_ENV, APP_SECRET environnement et secret Symfony
DATABASE_URL connexion MySQL
JWT_SECRET_KEY, JWT_PUBLIC_KEY, JWT_PASSPHRASE signature JWT
CORS_ALLOW_ORIGIN origines API autorisées
MAILER_DSN, MAILER_FROM transport et expéditeur email
BUSINESS_API_URL URL du backend Business
SYSTEM_API_KEY authentification système entre backends
DOCS_HOST host Traefik du portail docs
GEMINI_API_KEY génération de contenu
SMS_API_BASE_URL base MySMS, actuellement /api/v1
SMS_API_KEY jeton Bearer MySMS
SMS_SENDER_NAME nom d’expéditeur SMS
LOCK_DSN verrous Symfony

Les secrets doivent être placés dans .env.local, un secret manager ou les variables du runtime. Ne jamais committer une clé réelle.

JWT

php bin/console lexik:jwt:generate-keypair

Les chemins de clés sont configurés dans config/packages/lexik_jwt_authentication.yaml.

Vérifications

php bin/console lint:yaml config
php bin/console lint:container
php bin/console doctrine:schema:validate