README.md 1.9 KB

Countdown

Application Symfony capable d'enregistrer des timers et de les restituer à un frontend Javascript qui lancera les timers appropriés.

Workflow

Déploiement sur serveur

Pré requis :

Debian 12 Bookworm, ou une distribution avec php8.2 et Mariadb-server

Je pars sur un container LXC avec une Debian 12 Bookworm toute fraiche

apt install zip php8.2 php8.2-{xml,zip,mysql} git mariadb-server

On installe composer (si composer est déjà dispo sur le serveur, c'est cool aussi)

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

mv composer.phar /usr/local/bin/composer

Création d'un user (ca c'est pareil si vous avez déjà une machine avec des users, pas besoin de se prendre la tête)

adduser bidule

En utilisateur :

git clone https://gogs.fdlibre.eu/sangfroid/countdown-symfony.git
cd countdown-symfony
composer install --no-dev --optimize-autoloader

Une erreur liée au MakerBundle vient crier lorsque le clear:cache est effectué. Ce n'est rien, et je vais surement le retirer des packages de dev. On'a encore pas précisé à notre application qu'elle va travailler en Prod :

composer dump-env prod

Le fichier .env.local.php est créé à partir du .env

On le corrige un peu :

vi .env.local.php

On passe la variable env à 'prod'

on vient remplacer le user, le mot de passe et le nom de la base de donnée dans la ligne mysql

Ensuite, on initialise la base de données

php bin/console doctrine:database:create
php bin/console doctrine:migrations:migrate