- Une distribution Linux (de préférence basée sur Debian) pour la machine hôte
- Git
- PHP 7.4, 8.1 ou 8.2 avec l'extension pgsql
- Yarn
- Serveur web
- Zip/unzip
- Curl
- Java SE >= 11
- ogr2ogr >= 2.3.0
- Cloner le dépôt et installez les dépendances PHP :
git clone https://github.com/IGNF/validator-api.git
cd validator-api
composer install- Dupliquer et adapter le fichier
.envsous le nom.env.local.
Utilisez les commentaires de .env.local pour compléter les paramètres de votre application locale.
- Créer la base de données et initialiser sa structure :
php bin/console doctrine:database:create
# structure gérée par les migrations Doctrine (dossier migrations/)
php bin/console doctrine:migrations:migrateEn cas de modification de src/Entity, générer une migration avec php bin/console doctrine:migrations:diff puis la relire avant de la commiter.
- Télécharger le fichier
bin/validator-cli.jar:
# version et empreinte définies dans le script (exécuté aussi par "composer install")
sh bin/install-validator.sh- Lancer l'application :
symfony server:startL'application est consultable à l'adresse http://localhost:8000
-
- Configurer la base de données de test
Dans .env.test, ajoutez la ligne suivante :
DATABASE_URL=postgresql://${PGUSER}:${PGPASSWORD}@localhost:5432/validator_api_test?serverVersion=15&charset=utf8
Comment configurer la variable DATABASE_URL (documentation Symfony)
-
- Initialiser la base de données de test
# Créer la base de données
php bin/console --env=test doctrine:database:create --if-not-exists
# Mettre à jour le schéma de la base de données
php bin/console --env=test doctrine:migrations:migrate --no-interaction-
- Téléchargez l'exécutable java validator-cli.jar
Si validator-cli.jar est déjà installé, vous pouvez configurer son emplacement à l'aide de la ligne suivante dans .env.test :
VALIDATOR_PATH=/opt/ign-validation/validator-cli.jar
Sinon, vous pouvez lancer sh bin/install-validator.sh pour le télécharger dans ${projectDir}/bin/validator-cli.jar (chemin par défaut)
-
- Exécutez les tests
XDEBUG_MODE=coverage APP_ENV=test php vendor/bin/simple-phpunit-
- Consulter les rapports
Voir ${projectDir}/var/data/output pour les résultats des tests.