git clone https://github.com/MTES-MCT/zero-logement-vacant.git
cd zero-logement-vacant && yarn- Installation de
npq(compatible Yarn)
Installer npq globalement :
brew install npqVous pouvez créer un alias pour que chaque commande yarn add passe automatiquement par npq-hero :
alias yarn="NPQ_PKG_MGR=yarn npq-hero"- Pour ajouter une nouvelle dépendance avec vérification de sécurité :
npx npq install package-namenpq effectue des vérifications (vulnérabilités Snyk, âge du package, scripts d'installation suspects) avant l'installation.
Pour lancer les services, migrer et remplir la base de données en une seule commande :
export DEV_DB=postgres://postgres:postgres@localhost/dev
export TEST_DB=postgres://postgres:postgres@localhost/test
bash .docker/setup.shLancer tous les services :
docker compose -f .docker/docker-compose.yml up -dLancer un service spécifique :
docker compose -f .docker/docker-compose.yml up -d <service>Chaque application peut définir ses propres variables d’environnement. Des exemples sont disponibles comme ici pour l’API : server/.env.example.
Développement / Staging
Si vous avez choisi de ne pas charger les données via docker compose, vous
pouvez les charger manuellement :
yarn workspace @zerologementvacant/server migrate
yarn workspace @zerologementvacant/server seedNote : vous pouvez définir la variable d’environnement DATABASE_URL
pour utiliser une base de données spécifique.
Sinon une base de donnée locale sera utilisée par défaut.
La base de données doit exister.
Permet le chargement de données minimales pour faire fonctionner l'application avec des données anonymisées pour les collectivités suivantes :
- Eurométropole de Strasbourg
- CA Saint-Lô Agglo
et trois utilisateurs dont les mots de passes sont partagés sur https://vaultwarden.incubateur.net/:
- test.strasbourg@zlv.fr => utilisateur avec des droits pour Eurométropole de Strasbourg
- test.saintlo@zlv.fr => utilisateur avec des droits pour Saint-Lô
- test.admin@zlv.fr => utilisateur avec des droits d'administration
- test.visitor@zlv.fr => utilisateur lecture seule France entière
Chaque application peut être lancée indépendamment.
yarn workspace @zerologementvacant/front dev # localhost:3000
yarn workspace @zerologementvacant/server dev # localhost:3001/apiL'application est accessible à l'adresse sur http://localhost:3000 et il est possible de se connecter avec l'un des trois comptes utilisateurs cités plus haut.
Lancer tous les tests :
yarn testLancer les tests d’un workspace en particulier :
# Avec yarn
yarn workspace <workspace> test
# Avec lerna
yarn lerna run test --scope <workspace> [--include-dependents]
# Exemple
yarn workspace @zerologementvacant/server test
yarn lerna run test --scope @zerologementvacant/server --include-dependents
yarn test --scope @zerologementvacant/server --include-dependents
# yarn test == yarn lerna run testLa commande échoue si le package ne comporte pas de commande test, ou si un
test échoue.
La version de démo de l'application est accessible à l'adresse https://zerologementvacant-staging.incubateur.net
La version de production de l'application est accessible à l'adresse https://zerologementvacant.beta.gouv.fr