Skip to content
/ pia-back Public
forked from LINCnil/pia-back

Programme développé avec le framework RubyOnRails mettant à disposition une API RESTful à destination des outils PIA et PIA-APP. | Program developped with RubyOnRails providing a RESTful API for the PIA and PIA-APP applications.

License

Notifications You must be signed in to change notification settings

P-D-/pia-back

 
 

Repository files navigation

Le logiciel PIA / The PIA Software

Le logiciel PIA est un outil distribué librement par la CNIL afin de faciliter la réalisation d’analyses d’impact sur la protection des données prévues par le RGPD. PIA-BACK est développé avec le framework RubyOnRails mettant à disposition une API RESTful à destination des outils PIA et PIA-APP.

The PIA software is a free tool published by the CNIL which aims to help data controllers build and demonstrate compliance to the GDPR. PIA-BACK is developped with RubyOnRails providing a RESTful API for the PIA and PIA-APP applications.

Rails tests CodeQL CodeFactor Rails Style Guide Rails Style Guide

Installation

You can follow the wiki for a full installation of PIA (back-end) and PIA (front-end) applications on a ubuntu 20.04 server.

Requirements

System requirements

  • CPU : i5
  • Ram: 4Go
  • Disk Space : 20Go
  • OS : preferably Linux but other OS works as well

PostgreSQL installation

Basic installation on Debian you can use the following documentation: wiki.debian.org/PostgreSql on Ubuntu you can use: help.ubuntu.com/community/PostgreSQL

Also, you need to create a new user with password.

Clone the repository

git clone https://github.com/LINCnil/pia-back.git

Go to the folder pia-back

cd pia-back

Create and fill the file database.yml

cp config/database.example.yml config/database.yml

Fill the fields username and password for each environment with the PostgreSQL username and password created in the step "PostgreSQL installation".

Install all dependencies

bundle install

Create and fill the file .env file

cp .env-example .env

Generate the SECRET_KEY_BASE with bin/rake secret and paste the secret key in the file. Generate the DEVISE_SECRET_KEY with bin/rake secret and paste the secret key in the file. Generate the DEVISE_PEPPER with bin/rake secret and paste the secret key in the file. Fill MAILER_SENDER with the default address email sender Fill DEFAULT_URL with the URL of your server If needed, fill DEFAULT_PORT to the PORT you use

Create database

bin/rake db:create

Create tables

bin/rake db:migrate

Enable the authentication mode

Set ENABLE_AUTHENTICATION=true inside your .env file

Enter the rails console with bin/rails c

Launch the command Doorkeeper::Application.create(name: "PIA", redirect_uri: "urn:ietf:wg:oauth:2.0:oob", scopes: ["read", "write"])

Find your UID and SECRET information Doorkeeper::Application.select(:uid, :secret).first

Use these credentials into your PIA application

Create admin account

Enter the rails console with bin/rails c

Launch the command User.create(email: 'YOUR_EMAIL', password: 'azeazeaze', password_confirmation: 'azeazeaze')

Unlock your user with the unlock_access! method

    a = User.last
    a.is_technical_admin = true
    a.is_functional_admin = true
    a.is_user = true
    a.unlock_access!

Run the application

  • bin/rails s your server will be accessible with the URL localhost:3000

  • You can specify the option -b to bind to a public IP address or domain name and -p to use a different port.

    For example: bin/rails s -b 123.456.789.101 -p 8080 your server will be accessible with the URL 123.456.789.101:8080

  • Then, in the pia (front-end) application, use this URL to enable the server mode.

  • Fill the field in "Tools" > "Settings"

PIA Settings

Run the application in production mode

  1. Fill the production section in the database.ymlfile.
  2. Create the database: RAILS_ENV=production bin/rake db:create
  3. Create the tables: RAILS_ENV=production bin/rake db:migrate
  4. Run the server: RAILS_ENV=production bin/rails s

How to update to the latest version

Go to the folder pia-back : cd pia-back

Update the repository : git pull

Update the dependencies : bundle install

Update the database : RAILS_ENV=production bin/rake db:migrate

Run the test

bin/rake

Change default locale

Pia back mailer work with rails-i18n. For update default locale, go to change this line in rails configuration:

In config/application.rb

config.i18n.default_locale = :en

Contributions

About

Programme développé avec le framework RubyOnRails mettant à disposition une API RESTful à destination des outils PIA et PIA-APP. | Program developped with RubyOnRails providing a RESTful API for the PIA and PIA-APP applications.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 97.1%
  • HTML 2.9%