Dématérialiser et simplifier les démarches administratives
Find a file
Pierre de La Morinerie 5cc59bc5e7
Merge pull request #2306 from betagouv/improve-tests
Améliorations sur les tests
2018-07-30 11:17:00 +02:00
.circleci Do not run yarn install before deploy 2018-07-26 11:12:29 +02:00
app [#2179] Generate denormalized search terms value for Dossier 2018-07-27 11:11:52 +02:00
bin Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
config Do not share binstubs 2018-07-26 11:12:00 +02:00
db [#2179] Add denormalized search_terms field to Dossier 2018-07-27 11:00:15 +02:00
doc Remove the mandataire_social guess 2018-03-20 16:09:00 +01:00
lib [#2179] Rake task to retroactively generated denormalized search terms for Dossiers 2018-07-27 11:11:52 +02:00
log First Commit 2015-08-10 11:05:06 +02:00
public Revert "Commit compiled assets" 2018-01-31 16:23:40 +01:00
spec specs: fix application_job_spec 2018-07-30 11:03:16 +02:00
vendor/assets tps.apientreprise.fr -> demarches-simplifiees.fr 2018-03-01 10:33:53 +01:00
.babelrc Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
.editorconfig Add a .editorconfig file 2017-04-04 17:32:36 +02:00
.eslintrc.js Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
.gitignore Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
.haml-lint.yml Bump development gems 2018-01-23 16:26:56 +01:00
.postcssrc.yml Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
.prettierrc.js Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
.rspec First Commit 2015-08-10 11:05:06 +02:00
.rubocop.yml Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
.ruby-version Bump ruby to 2.5.0 2018-03-02 15:42:20 +01:00
.scss-lint.yml Add the direct_upload JS ans SCSS files 2018-02-15 11:14:03 +01:00
config.ru Delete redis and actioncable 2017-10-12 07:21:02 +02:00
Gemfile Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
Gemfile.lock Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
Guardfile Enable the Layout/EmptyLines cop 2017-06-13 10:35:20 +02:00
LICENSE.agpl-3.0.txt Add license 2017-04-03 11:05:37 +02:00
package.json Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
Procfile Add a Procfile and document usage of hivemind 2018-01-02 11:20:22 +01:00
Rakefile Bump development gems 2018-03-06 16:17:22 +01:00
README.md Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00
yarn.lock Add webpacker and use it for new_design 2018-07-25 15:14:06 +02:00

demarches-simplifiees.fr

Context

demarches-simplifiees.fr est un site web conçu afin de répondre au besoin urgent de l'État d'appliquer la directive sur le 100 % dématérialisation pour les procédures administratives.

Dépendances

Tous environnements

  • postgresql

Développement

Tests

Initialisation de l'environnement de développement

Afin d'initialiser l'environnement de développement, exécutez la commande suivante :

bundle install
yarn install

Création de la base de données

Les informations nécessaire à l'initialisation de la base doivent être pré-configurées à la main grâce à la procédure suivante :

su - postgres
psql
> create user tps_development with password 'tps_development' superuser;
> create user tps_test with password 'tps_test' superuser;
> \q

Afin de générer la BDD de l'application, il est nécessaire d'exécuter les commandes suivantes :

# Create and initialize the database
bin/rails db:create db:schema:load db:seed

# Migrate the development database and the test database
bin/rails db:migrate

Bouchonnage de lauthentification

Créer les fichiers de configuration avec les valeurs par défaut :

cp config/france_connect.example.yml config/france_connect.yml
cp config/github_secrets.example.yml config/github_secrets.yml

Connexion a Pipedrive

Dans le fichier config/intializers/token.rb, ajouter

PIPEDRIVE_TOKEN = 'token'

Note : les valeurs pour ces paramètres sont renseignées dans le Keepass

Lancement de l'application

overmind s

Un utilisateur de test est disponible, avec les identifiants test@exemple.fr/testpassword.

Programmation des jobs

AutoArchiveProcedureJob.set(cron: "* * * * *").perform_later
WeeklyOverviewJob.set(cron: "0 8 * * 0").perform_later
AutoReceiveDossiersForProcedureJob.set(cron: "* * * * *").perform_later(procedure_declaratoire_id, 'en_instruction')
FindDubiousProceduresJob.set(cron: "0 0 * * *").perform_later
Administrateurs::ActivateBeforeExpirationJob.set(cron: "0 8 * * *").perform_later

Exécution des tests (RSpec)

Pour exécuter les tests de l'application, plusieurs possibilités :

  • Lancer tous les tests

      bin/rake spec
      bin/rspec
    
  • Lancer un test en particulier

      bin/rake spec SPEC=file_path/file_name_spec.rb:line_number
      bin/rspec file_path/file_name_spec.rb:line_number
    
  • Lancer tous les tests d'un fichier

      bin/rake spec SPEC=file_path/file_name_spec.rb
      bin/rspec file_path/file_name_spec.rb
    

Debug

Une fois overmind lancé, et un breakpoint byebug inséré dans le code, il faut se connecter au process server dans un nouveau terminal afin d'intéragir avec byebug :

overmind connect server

Linting

  • Faire tourner RuboCop : bundle exec rubocop
  • Faire tourner Brakeman : bundle exec brakeman
  • Linter les fichiers HAML : bundle exec haml-lint app/views/
  • Linter les fichiers SCSS : bundle exec scss-lint app/assets/stylesheets/
  • Linter les fichiers JavaScript : yarn lint:js (yarn lint:js --fix)
  • AccessLint tourne automatiquement sur les PRs

Déploiement

  • Tout nouveau commit ajouté à la branche dev est automatiquement déployé en intégration
  • Tout nouveau commit ajouté à la branche master est automatiquement déployé en production

Régénérer les binstubs

bundle binstub railties --force
bin/rake rails:update:bin

Tâches Super Admin

  • ajouter un compte super admin : bin/rake admin:create_admin[email-du-compte-github@exemple.com]

  • lister les comptes super admin : bin/rake admin:list

  • supprimer un compte super admin : bin/rake admin:delete_admin[email-du-compte-github@exemple.com]

Tâches daide au support

Des tâches daide au support sont prévues dans le namespace support. Pour les lister: bin/rake -D support:.

Compatibilité navigateurs

L'application supporte les navigateurs récents Firefox, Chrome, Internet Explorer (Edge, 11).

La compatibilité est testée par Browserstack.

Performance

View performance data on Skylight

Nous utilisons Skylight pour suivre les performances de notre application.