L'outil de gestion des habilitations juridiques pour les données à accès restreint.
Version en ligne: https://sandbox.v2.datapass.api.gouv.fr/
Les comptes disponibles en simili-production (couple email/password sur ProConnect) :
Via le fournisseur d'identité ProConnect (le choix de l'organisation s'effectue en dehors de DataPass) :
[email protected]/[email protected]: simple demandeur qui possède plusieurs habilitations sur la première organisation de liste (Commune de Clamart)[email protected]/[email protected]: instructeur pour API Entreprise, sans habilitation[email protected]pour un compte admin / toute instruction
Via un fournisseur d'identité fictif, qui est configuré pour sélectionner / ajouter des organisations :
[email protected](pas de mot de passe) : simple demandeur qui possède 2 demandes sur la DINUM (lien avec l'organisation non vérifiée). Cet usager est rattaché à la commune de Clamart et le lien avec l'organisation est vérifié. Cet usager peut se rattacher à une organisation.[email protected](pas de mot de passe) : simple demandeur sans demande. Cet usager ne peut pas se rattacher à une nouvelle organisation via DataPass.
La conséquence pour le compte ci-dessus est que l'usager ne peut pas consulter les autres demandes de la DINUM.
Le lien pour l'instruction: https://sandbox.v2.datapass.api.gouv.fr/instruction
A noter qu'à chaque déploiement la base de données est vidée et re-remplie avec les seeds disponible ici
- ruby 3.4.7
- postgresql >= 13
- (optional) npm (for standardjs and prettier)
Ask for the sandbox/staging/production master key to a colleague
(config/credentials/*.key)
You also need to setup environment variables, you can copy from
config/env.example within .env.local file and change them as needed.
There are not mandatory to run most of the features, only for INSEE fetching
for instructor drafts.
With docker:
make buildWithout docker:
./bin/setup
# Optional, for standardjs
npm install standard --globalWith docker:
make upCheck Makefile for all commands
Without docker:
./bin/local_run.shThen go to http://localhost:3000
For mailer preview: http://localhost:3000/rails/mailers
Il est possible de restreindre l'application à un sous-ensemble de type d'habilitation à travers un sous nom de domaine. Cela permet de restreindre les demandeurs à ce sous-ensemble.
Par exemple pour API Entreprise: http://api-entreprise.localtest.me:3000/
Il est possible de bypass le login via ProConnect de cette manière en local : http://api-entreprise.localtest.me:3000/[email protected]
Préparation de la base de données: docker-compose run --rm web bundle exec rails db:create RAILS_ENV=test (devrait avoir été lancé par make build)
Run les tests:
# Unit
make tests
# E2E
make e2eVous pouvez passer un dossier ou un fichier de test en argument (ex: make tests spec/controllers)
# Unit
bundle exec rspec
# Unit with coverage
COVERAGE=true bundle exec rspec
# E2E
bundle exec cucumber
# E2Ewith coverage
COVERAGE=true bundle exec cucumber
# E2E in debugging mode
INSPECTOR=true bundle exec cucumberThrough Brakeman
With docker:
make securityWithout docker:
./bin/brakeman./bin/deploy
# For sandbox, branch is optional
./bin/deploy-sandbox branchYou have to be added on servers to use these binaries.
Usage: bin/script [ENV]
# `less` on logs
bin/explore-remote-logs
# remote rails console
bin/remote-console
# `tail -f` on logs
bin/stream-remote-logs
4 kind:
production, for main app ;sandbox, for the sandbox ;staging, for the staging (E2E tests with others apps) ;development, for development/test.
Check this link