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 updocker 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 helpmake 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