Piloter le parc de logements pour demandeurs d’asile
Ce projet utilise yarn comme gestionnaire de dépendances.
D'abord, installez les dépendances :
yarnEnsuite, lancez le projet :
yarn devOuvrez http://localhost:3000 avec votre navigateur pour voir le résultat.
Pour lancer les tests, exécutez :
yarn testPour lancer les tests en continu, exécutez :
yarn test:watchPour lancer les tests end-to-end sans interface graphique, lancez le serveur de développement avec yarn dev, puis exécutez :
yarn test:e2ePour lancer les tests end-to-end avec interface graphique, exécutez :
yarn test:e2e:uiPour vérifier que tout le code est bien formatté, exécutez :
yarn lintPour vérifier qu'uniquement le code JS/TS/TSX est bien formatté, exécutez :
yarn lint:tsPour vérifier qu'uniquement le code CSS est bien formatté, exécutez :
yarn lint:cssTout le processus de création et migration de la base de données est décrit dans ce document
Pour en savoir plus sur l'architecture du projet, allez sur le document d'architecture
En cas de mise à jour du DSFR, il faut mettre à jour le patch.
Par défaut le DSFR applique le CSS en dehors d'un layer ce qui pose des conflits avec Tailwind. Il faut donc modifier le css du DSFR pour qu'il soit englobé dans un layer. Et ce à chaque mise à jour du React-Dsfr.
- Mettre à jour le package @codegouvfr/react-dsfr
- Editer le fichier node_modules/@codegouvfr/react-dsfr/dsfr/dsfr.min.css en englobant le CSS dans un layer
@layer dsfr {
/* le CSS */
}- Patcher le package
npx patch-package @codegouvfr/react-dsfr- Vérifier le patch dans
patches/@codegouvfr+react-dsfr+{version}.patch - Commit le patch
- Le patch sera appliqué à chaque
yarn install - Champagne !
Les routes /ajout-structure et /ajout-adresses sont protégées par mot de passe. Les pages de dashboard sont protégées par un accès ProConnect.
Pour définir un ou plusieurs mots de passe, il suffit d'ajouter la variable OPERATEUR_PASSWORDS dans le fichier .env. Les mots de passe devront être séparées par des virgules.
PAGE_PASSWORD est une variable d'environnement legacy et sera bientôt supprimée.
En mode développement, il est possible aussi de bypasser ces accès privés grace à la variable d'environnement DEV_AUTH_BYPASS=1
Les pages sont ensuite accessibles via :
- http://localhost:3000/ajout-structure/123abc pour créer une structure (ici
123abc) - http://localhost:3000/structures pour accéder au tableau de bord
Pour mettre l'applcation en production, placez vous sur la branche main et exécutez :
git pull --rebase origin dev
git push --force-with-lease
Pour ajouter des opérateurs sur un environnement (dev ou prod), faites un POST sur /api/operateurs avec un tableau des opérateurs. Un JSON à jour est sur le Notion de l'équipe.
L'exécution de scripts est décrite dans une page dédiée