Le portail est construit sur le framework PHP Symfony. Il nécessite l’installation d’un moteur php >=7.4 avec les extensions xsl
et intl
ainsi que le logiciel Yarn.
S’assurer que le proxy est correctement configuré (par exemple au moyen des variables d’environnement http_proxy
et https_proxy
)
Clôner le dépôt
Créer à la racine du projet un fichier nommé .env.local
pour surcharger les informations du fichier .env
. Se référer au fichier .env
pour le compléter.
Installer les dépendances php (composer install
)
Installer les dépendances Javascript (yarn install
)
Compiler les assets (yarn encore
)
docker-compose up -d --build --remove-orphans
ou make up
docker exec -it web-client_backend_1 ...
Activer l’environnement de test :
# .env.local
APP_ENV=test
php bin/console cache:clear
Configurer le baseUrl
dans cypress.config.js specifique à votre installation :
baseUrl: "http://localhost:8080",
Lancer si première utilisation de cypress :
yarn cypress install
Configuration supplémentaire pour Linux sous WSL2 : https://nickymeuleman.netlify.app/blog/gui-on-wsl2-cypress
Ouvrir l’interface de pilotage de cypress :
yarn cypress open
Lancer les tests (mode headless
, sans visuel) :
# le mode headless (--headless) est activé par défaut
yarn cypress run --browser firefox
Lancer les tests (mode headed
, avec visuel) :
yarn cypress run --browser firefox --headed
Le navigateur sur lequel on souhaite exécuter les tests doit être installé sur votre machine.
Liste de navigateurs supportés : https://docs.cypress.io/guides/guides/launching-browsers#Browsers
Pour le bon fonctionnement de l’intellisense de votre IDE pour cypress, configurer le fichier jsconfig.json
ainsi :
"include": ["./node_modules/cypress", "cypress/**/*.js"]
En savoir plus : https://docs.cypress.io/guides/tooling/IDE-integration#Writing-Tests
Structure des tests :
// cypress/e2e/example.cy.js
describe("Description d'une suite de tests", () => {
context("Un ensemble de tests qui sont regroupés par un contexte particulier (par ex. utilisateur connecté ou non) (optionnel)", () => {
it("(it ou specify) un scenario représenté par une suite de tâches et vérification d'un comportement attendu (quelque chose qui se passe quand l'utilisateur effectue une action)", () => {
...
})
})
})
Voir les exemples dans /cypress/e2e
En savoir plus : https://docs.cypress.io/guides/core-concepts/writing-and-organizing-tests#Test-Structure
Plan du site Géotuileur : sitemap.md
Processus détaillé de création d’un flux de tuiles vectorielles workflow.md
Consignes de rédaction de la documentation utilisateur : docsify.md
Contenu et actions possibles depuis le tableau de bord d’un espace de travail : dashboard.md
Documentation détaillée de la généralisation : generalization.md
Quelques commandes make
ont été configurées comme raccourcis pour certaines tâches courantes :
make
disponibles : make help
make
dans le fichier Makefile
à la racine du projetmake compile-app
ou make compile-app-prod
en productionSi vous modifiez des templates twig, vérifiez leur syntaxe avec :
php bin/console lint:twig templates/
Vous pouvez lister toutes les erreurs php avec la commande :
vendor/bin/phpstan analyse -c phpstan.neon