Dématérialiser et simplifier les démarches administratives
Find a file
Mathieu Magnin 05ca8d37fa Merge pull request #722 from sgmap/fix_721
[Fix #721] If an avis is created with uppercase email, downcase it be…
2017-09-13 11:05:52 +02:00
.circleci CircleCi: increase to 3 parallel workers 2017-07-21 14:24:34 +02:00
app [Fix #721] If an avis is created with uppercase email, downcase it before save 2017-09-13 10:59:59 +02:00
bin
config Old recherche with new design 2017-09-06 11:11:43 +02:00
db Rubocop: enable indentation width rule 2017-08-28 12:20:58 +02:00
doc [Ref #145] Don't use Procedure.archived anymore 2017-07-11 15:03:35 +02:00
lib Clean assign_to duplicates with a rake task 2017-08-28 10:42:29 +02:00
log
public
spec [Fix #721] If an avis is created with uppercase email, downcase it before save 2017-09-13 10:59:59 +02:00
vendor/assets Add map for gestionnaire 2017-09-06 11:11:28 +02:00
.editorconfig
.gitignore
.haml-lint.yml
.rspec
.rubocop.yml Rubocop: enable Layout/SpaceAroundOperators 2017-08-28 13:39:13 +02:00
.ruby-version
.scss-lint.yml
config.ru
Gemfile Add rack_mini_profiler 2017-07-25 14:35:54 +02:00
Gemfile.lock Add rack_mini_profiler 2017-07-25 14:35:54 +02:00
Guardfile Enable the Layout/EmptyLines cop 2017-06-13 10:35:20 +02:00
LICENSE.agpl-3.0.txt
Rakefile
README.md [Ref #288] Remove the seeds.rb file which required an uncommitted file 2017-08-25 15:34:30 +02:00

TPS - Téléprocédures Simplifiées

Context

Téléprocédures Simplifiées, ou TPS pour les intimes, est une plateforme 100 % web et 0 % email, conçue afin de répondre au besoin urgent de l'État d'appliquer la directive sur le 100 % démat' à l'horizon 2018 pour les procédures administratives.

Dépendances

Tous environnements

  • postgresql
  • redis

Développement

  • Mailcatcher : gem install mailcatcher

Tests

  • PhantomJS

Initialisation de l'environnement de développement

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

bundle 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'éxécuter les commandes suivantes :

# Create and load the schema for both databases
rake db:create db:schema:load

# Migrate the development database and then the test database
rake db:migrate
rake db:migrate RAILS_ENV=test

Création des comptes initiaux

rails c
> email = "<votre email>"
> password = "<votre mot de passe>"
> Administration.create(email: email, password: password)
> Administrateur.create(email: email, password: password)
> Gestionnaire.create(email: email, password: password)
> User.create(email: email, password: password)

Lancement de l'application

redis-server
sidekiq
mailcatcher -f
rails s

Exécution des tests (RSpec)

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

  • Lancer tous les tests

      rake spec
      rspec
    
  • Lancer un test en particulier

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

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

Linting

  • Faire tourner RuboCop : bundle exec rubocop -R
  • Faire tourner Brakeman : bundle exec brakeman -z
  • Linter les fichiers HAML : bundle exec haml-lint app/views/
  • Linter les fichiers SCSS : bundle exec scss-lint app/assets/stylesheets/

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
rake rails:update:bin