Skip to content

etalab/data_pass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,168 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Continuous Deployment Continuous Integration

DataPass

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) :

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

Requirements

Install

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 build

Without docker:

./bin/setup
# Optional, for standardjs
npm install standard --global

Development

With docker:

make up

Check Makefile for all commands

Without docker:

./bin/local_run.sh

Then go to http://localhost:3000

For mailer preview: http://localhost:3000/rails/mailers

Avec un sous-domaine référencé

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]

Tests

With docker

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 e2e

Vous pouvez passer un dossier ou un fichier de test en argument (ex: make tests spec/controllers)

Without docker

⚠️Il est déconseillé de run plus d'un test à la fois sans Docker car cela peut entrainer des échecs de tests.

# 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 cucumber

Static security

Through Brakeman

With docker:

make security

Without docker:

./bin/brakeman

Deploy

./bin/deploy

# For sandbox, branch is optional
./bin/deploy-sandbox branch

Tools for remote server

You 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

Credentials

4 kind:

  1. production, for main app ;
  2. sandbox, for the sandbox ;
  3. staging, for the staging (E2E tests with others apps) ;
  4. development, for development/test.

Documentations

Check this link

Ressources externes

About

DataPass

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 21