- Node.js v24+
- Yarn v4 (activé via Corepack :
corepack enable) - Docker (pour PostgreSQL, Redis, etc.)
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 définit ses propres variables d’environnement. Copiez les fichiers d’exemple et adaptez-les :
cp server/.env.example server/.env
cp frontend/.env.example frontend/.envImportant : la valeur de DATABASE_URL dans server/.env doit correspondre à la base de données créée à l’étape précédente. Si vous avez utilisé les valeurs par défaut du script setup.sh, mettez à jour la valeur :
DATABASE_URL=postgres://postgres:postgres@localhost/dev
Développement / Staging
Si vous avez choisi de ne pas charger les données via docker compose, vous
pouvez les charger manuellement :
yarn nx run server:migrate
yarn nx run 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 quatre utilisateurs dont les mots de passe 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 nx run-many -t dev -p front,server
# Front est sur localhost:3000
# API est sur localhost:3001L'application est accessible à l'adresse sur http://localhost:3000 et il est possible de se connecter avec l'un des quatre comptes utilisateurs cités plus haut.
Lancer tous les tests :
yarn testLancer les tests d’un workspace en particulier :
yarn nx test server
yarn nx test frontLa commande échoue si le package ne comporte pas de commande test, ou si un
test échoue.
- Génération de PDF — courriers de campagne (agents produit)
- packages/pdf — documentation technique du package PDF