Index par titre

Configuration de l'application

La première partie de ce document liste les parties du logiciel ProWhy qui peuvent être paramétrées à l'aide des fichiers de configuration Rails.
Certains paramétrages sont effectués à l'aide des fichiers de données (fixtures rails), d'autres nécessitent une modification de la structure des tables et sont réalisées à l'aide des fichiers de construction de la bdd (migrations rails).
Les procédures de réalisation de ces adaptations sont détaillées dans la partie 2 : Procédures de paramétrage.

Aperçu

Image de la société

Il est possible de mettre une image de la société en fond d'écran de la page de login.

La criticité

Les intitulés, textes et valeurs des critères sont paramétrables.
La formule de calcul de la valeur de criticité est également paramétrable.

Les périmètres

Par défaut, les périmètres sont :

Page détails d'une résolution de problème

Les groupes (« Description » et « Programme ») : possibilité de changer les noms.
Si besoin, il est possible d'ajouter des groupes.
Tous les champs peuvent être modifiés, excepté « titre » et « description ».
Les types disponibles pour les champs sont :
• date
• texte libre
• valeur numérique
• texte à choisir dans une liste déroulante (les différents textes sont stockés dans un fichier de configuration)

Page équipe

Excepté pour l'auteur, les différentes fonctions d'une équipe peuvent être modifiées. Il est également possible d'en ajouter et/ou supprimer.
Il est également possible de paramétrer les droits d'accès en lecture et en écriture aux différentes parties de la résolution de problème pour chaque fonction (par exemple le pilote a tous les droits, un responsable action n'a les droits de modifications que sur les pages actions).

Procédures de paramétrage

Image de la société

Afin de mettre une image de la société en fond d'écran de la page de login :
Dans le répertoire de l'application, remplacer l'image :
public/images/custom_trex/societe_custom.jpg
par l'image de la société.
L'image actuelle est au format 1280x463 afin de remplir tout le bas de la page.

Modification d'un fichier de configuration des données (fichiers fixtures rails)

Attention ! Si vous avez commencé à utiliser ProWhy, il est impératif de réaliser une sauvegarde de la base de données.

Les fichiers fixtures permettent d'initialiser les enregistrements d'une table de la base de données
Ils sont accessibles dans le répertoire : test/fixtures
et sont nommés : nom_de_la_table.yml
Ces fichiers ont le format suivant :

obj1:
  id: 1
  champ1: valeur
  champ2: valeur
  [...]
  champN: valeur
obj2 :             # identifiant unique dans le fichier de fixtures
  id : 2           # id de l'enregistrement (unique dans la table)
  champ1: valeur   # champs de la table et valeurs associées
  champ2: valeur
  [...]
  champN: valeur

Il n'est pas nécessaire de renseigner tous les champs. Les champs non renseignés prendront la valeur par défaut.
Le champ « id » doit être renseigné uniquement pour des tables référencées dans d'autres fichiers fixtures afin d'identifier la cible d'un lien (lien entre 2 tables). Dans les autres cas la ligne « id: ... » ne doit pas être présente.
Une fois le fichier de fixtures modifié, ce fichier doit être chargé dans la base de données.
Dans le répertoire de l'application, lancer la commande :
$ rake db:fixtures:load FIXTURES=nom_de_la_table

Exemple :
L'exemple suivant détaille la configuration des listes déroulantes.
Les textes des listes déroulantes sont enregistrés dans la table « combos » en base de données.
Les valeurs sont donc configurées dans le fichier :
test/fixtures/combos.yml
Nous prendrons ici l'exemple de la liste de sélection correspondant aux secteurs (dans l'application : page détails, bloc Description, champ secteur).
Le champ dont l'intitulé est « Secteur » dans le bloc « Description » a pour nom de champ « pb_secteur »
Une recherche dans le fichier « combos.yml » nous montre la version actuelle :
d_sect1:
  nom_champ: "pb_secteur"    # nom du champ dans la bdd
  valeur: 1                  # valeur associée au texte (et position dans la liste déroulante)
  fr: "­­ non renseigné ­­"      # texte en Français
  gb: "­­ not specified ­­"      # texte en Anglais
d_sect2: 
  nom_champ: "pb_secteur" 
  valeur: 2
  fr: "Secteur 1" 
  gb: "Secteur 1" 
d_sect3: 
  nom_champ: "pb_secteur" 
  valeur: 3 
  fr: "Secteur 2" 
  gb: "Secteur 2" 
d_sect4: 
  nom_champ: "pb_secteur" 
  valeur: 4 
  fr: "Secteur 3" 
  gb: "Secteur 3" 
d_sect5: 
  nom_champ: "pb_secteur" 
  valeur: 5 
  fr: "Secteur 4" 
  gb: "Secteur 4" 

La liste déroulante affichera ainsi 5 choix : « – non renseigné -- », « Secteur 1 », « Secteur 2 », « Secteur 3 », « Secteur 4 »
Nous souhaitons modifier cette liste, afin de proposer les choix suivants : « – non renseigné -- », « Transport ferroviaire », « Aéronautique », « Transport maritime »
Le enregistrement des secteurs 2, 3, et 4 sont modifiés (valeurs des textes en fr et gb) et le secteur 5 est supprimé. La section concernant les secteurs sera alors :

d_sect1: 
  nom_champ: "pb_secteur" 
  valeur: 1 
  fr: "­­ non renseigné ­­" 
  gb: "­­ not specified ­­" 
d_sect2: 
  nom_champ: "pb_secteur" 
  valeur: 2 
  fr: "Transport ferroviaire" 
  gb: "Secteur 1" 
d_sect3: 
  nom_champ: "pb_secteur" 
  valeur: 3 
  fr: "Aéronautique" 
  gb: "Secteur 2" 
d_sect4: 
  nom_champ: "pb_secteur" 
  valeur: 4 
  fr: "Transport maritime" 
  gb: "Secteur 3" 

Afin d'appliquer les modifications à la table en base de données, lancer la commande :

Attention ! Si vous avez commencé à utiliser ProWhy, il est impératif de réaliser une sauvegarde de la base de données AVANT de lancer la commande suivante.

$ rake db:fixtures:load FIXTURES=combos RAILS_ENV=production

ATTENTION :

Les éventuelles modifications effectuées directement dans la table combos de la base de données seront définitivement perdues. Cette commande réinitialise la table avec les enregistrements du fichier de fixtures.

ATTENTION : NE PAS OUBLIER « FIXTURES=... »

Si la commande est lancée sans nom de fixture en suivant, alors toutes les fixtures sont chargées, et
toutes les données préalablement enregistrées dans la base de données seront effacées.

La criticité

Les critères, valeurs et configurations sont paramétrables directement depuis l'interface d'administration. Cette solution peut-être utilisée dans le cas d'une base de données en cours d'utilisation.
L'utilisation des fichiers de configuration est préférable dans le cas d'une nouvelle base de données, afin que les modifications soient conservées à chaque nouvelle création de base de données.
Les critères sont configurés dans le fichier : criticite_criteres.yml
Les valeurs associées à chaque critère : criticite_eval_criteres.yml (le champ criticite_critere_id renvoie à l'identifiant du critère correspondant).
Les formules de calcul: criticite_configurations.yml

Les périmètres

De même que pour la criticité, ces modifications sont réalisables à l'aide des fichiers de configuration (fixtures), ainsi que dans l'interface d'administration.
Les périmètres sont définis dans le fichier perimetres.yml
Le champ « parent_id » représente l'identifiant (id) du parent dans la hiérarchie des périmètres.

Page détails d'une résolution de problème

en construction

Page équipe

en construction


Documentation utilisateur

... en construction ...

Page d'accueil

Déclaration d'un problème

Les différents types de RCA

Outils transversaux

La criticité

Plan d'actions

Rapport

Documents

Les RCA

Anomalie

Amélioration

PDCA / 8D / 9steps


Gestion des personnes et utilisateurs

Personne :

Une « personne » représente une personne physique, référencée par un nom, un prénom, une adresse mail, et éventuellement d'autres informations (tel, adresse, ...).

Utilisateur :

Un utilisateur, référencé par un login et un mot de passe, peut accéder à l'application. Un utilisateur est relié à une personne physique.

Création d'un utilisateur

Création de l'utilisateur et de la personne associée

Depuis la page « Administration »
→ « Créer un utilisateur »
→ renseigner les informations demandées (login, mail, password et informations sur la personne)
→ « Créer l'utilisateur »
Dans la liste des personnes, le nouvel utilisateur et la personne associée sont créés.

Création d'un utilisateur lié à une personne déjà créée

Depuis la page « Administration / Gestion des contacts : Liste »
→ « Créer login » en fin de ligne de la personne concernée
→ renseigner le login et le mot de passe
→ « Créer l'utilisateur »
Dans la liste des personnes, le nouvel utilisateur est associé à la personne.

Création d'une personne

→ « Administration / Gestion des contacts : Liste »
→ « Nouveau contacts »
→ Entrer les informations : nom, prénom, adresse mail
→ « Créer »
La personne créée a été ajoutée dans la liste.

Connexion au LDap

Fonctionnalité disponible uniquement pour ProWhy version 1.3.1 et supérieures.

Configuration du LDap

→ « Administration / Configuration LDap »
→ « Nouvelle configuration »
→ Entrer les informations concernant la connexion (Name, host, port, base dn)
→ Entrer les informations concernant les attributs dans votre base LDap (au minimum pour uid, nom et email)
→ Valider

Création d'un utilisateur depuis le LDap

Depuis la page « Administration »
→ « Créer un utilisateur »
→ Renseigner au moins 1 champ parmi login, nom, prénom (premières lettre de l'attribut). Ne pas entrer de mot de passe.
→ Choisir le LDap précédemment configuré
→ « Search »
→ Choisir l'utilisateur dans la liste
→ « Select »

→ Si l'utilisateur n'existait pas déjà dans la base de données locale, il est créé.
→ L'utilisateur pourra désormais se connecter à Prowhy à l'aide de ses identifiant LDap

Droits d'accès

Description des différents droits d'accès

La seule page de l'application accessible sans restriction est la page d'authentification. Lors d'une tentative d'accès à une autre page, si l'utilisateur n'est pas authentifié alors il est automatiquement redirigé vers la page d'authentification.
Une fois l'utilisateur authentifié, il a accès à la page d'accueil quelles que soient ses autres permissions. Toutes les autres pages de l'application sont assujettis à certains droits d'accès.

Les rôles

Un rôle représente une fonction dans l'application. Selon le rôle assigné à chaque utilisateur, certaines parties de l'application sont accessibles ou non. Trois rôles principaux ont été définis :
administrateur, responsable, et utilisateur.

Administrateur : un administrateur possède un accès illimité en lecture et écriture sur toute la partie « Administration » de l'application. Le reste de l'application lui est accessible en lecture dans le cadre de ses périmètres.

Responsable : un responsable possède un accès restreint à certaines parties de l'administration (création de personnes, modification des paramètres de certains critères). Il possède également un accès total en lecture et écriture sur les RCA dans le cadre de ses périmètres.

Utilisateur : un utilisateur n'a aucun accès à l'administration de l'application. Il a un accès en lecture aux RCA dans le cadre de ses périmètres.

Les périmètres

La notion de périmètre représente typiquement un service d'une entreprise, un client, un fournisseur, etc. Cette notion permet de garantir la confidentialité des RCA entre les différents interlocuteurs (clients/fournisseurs), et si besoin entre les différents services de l'entreprise.
Les périmètres sont des zones hiérarchisées d'appartenance des différentes personnes référencées dans l'application.
Une représentation simplifiée des périmètres est présentée ci-contre.
Les personnes enregistrées dans l'application sont liées à un ou plusieurs périmètres. De même, à chaque nouveau RCA créé, le créateur associe les périmètres concernés (illustration ci-contre). Seules les personnes liées aux périmètres de ce RCA y auront accès.
Ainsi, les RCA réalisés entre l'entreprise et le client C1 ne seront pas visibles par le client C2. Et si l'entreprise le souhaite, les RCA réalisés au sein d'un service ne seront pas visible par les employés reliés à un autre service. Le responsable de l'entreprise sera relié au père de l'arbre des périmètres (ALL) afin d'avoir accès à tous les RCA.

La page d'accueil de l'application montre une liste des RCA réalisés. Avant d'être envoyée au navigateur, cette liste est filtrée sur le serveur afin de ne conserver que les RCA dont les périmètres sont visibles par l'utilisateur courant.

Les profils spécifiques à chaque RCA

Le troisième niveau de droit d'accès se situe au niveau d'un RCA spécifique. Autant les personne ayant pour rôle « Responsable » ont accès en lecture et écriture à tous les RCA de leur périmètre, autant les « Utilisateurs » ont un accès limité en lecture.
Si un utilisateur a un rôle actif dans un RCA, alors il doit avoir la possibilité de le modifier. De même en ce qui concerne l'accès donné aux clients et fournisseur.
Différents profils ont été définis en lien avec les RCA. Les principaux profils sont : pilote du RCA, responsable produit, responsable projet, responsable qualité, contact client, contact fournisseur,responsable action, membre de l'équipe.
En fonction du profil assigné à chaque participant au RCA, certains droits lui sont ouverts. Le pilote a accès en lecture et écriture à tout le RCA, alors que le responsable action aura accès en écriture uniquement sur le suivi des actions qui le concernent.


Constitution d'une équipe, association de personnes aux profils

Illustration des 3 niveaux d'accès

Droits d'accès : exemple d'accès en fonction du rôle, des périmètres, et du profil.
L'exemple ci-contre illustre cette gestion des droits d'accès sur trois niveaux.
Un RCA a été créé, associé au périmètre P1.
Toutes les personnes associées à ce périmètre ont un accès au minimum en lecture à ce RCA. Les responsables ont également un accès en écriture. Par ailleurs, l'utilisateur U1, étant le pilote du RCA, a un accès total en lecture et écriture. Le responsable R3 a, quant à lui, un accès en lecture et limité aux actions qui le concernent en écriture, cet accès étant dû à son rôle de responsable action dans ce RCA (en effet, il est possible qu'une personne d'un périmètre différent joue un rôle dans un RCA spécifique en raison de ses compétences).

Paramétrage des droits d'accès par utilisateur

Attribution d'un rôle

→ « Administration / Gestion des droits d'accès : Gestion des rôles »
→ Sélectionner le rôle dans la liste des rôles
→ Choisir le/les utilsateurs à assigner au rôle dans la liste des utilisateurs non assignés
→ « << »
Les utilisateurs choisis sont déplacés dans la liste des utilisateurs assignés au rôle.

Périmètres

→ « Administration / Gestion des périmètres : Attribution des périmètres aux utilisateurs »

mode 1 : par périmètre
→ Sélectionner le périmètre
→ Choisir le/les utilisateurs à assigner au périmètre dans la liste des utilisateurs
→ « >> »
Les utilisateurs choisis sont déplacés dans la liste des utilisateurs assignés au périmètre.

mode 2 : par utilisateur
→ Sélectionner l'utilisateur
→ Choisir le/les périmètres auxquels l'utilisateur doit être assigné
→ « Valider »
Les périmètres choisis sont associés à l'utilisateur.


Installation de ProWhy 1.3 sous Linux

Anciennes versions :

Pour installer la version 1.0, c'est ici : Installation Prowhy 1.0

Mise à jour :

Pour mettre à jour ProWhy < 1.3 vers ProWhy 1.3, suivre la documentation ici : Upgrade vers ProWhy 1.3

ProWhy doit être installé sur un serveur.
C'est une application web développée avec le framework Ruby On Rails qui peut être installée sur n'importe quel serveur Linux. L'installation sur serveur Windows est également possible mais non documentée.
La documentation complète d'installation sous Linux est disponible sur ce site.
L'utilisateur n'a rien à installer sur sa machine et peut utiliser n'importe quel système d'exploitation (windows, linux, ios, android etc).
Il lui faut seulement un navigateur récent et une connexion au serveur. L'application est optimisée pour Mozilla Firefox, mais peut également être utilisée depuis IE, Chrome, Safari, etc.

Méthode alternative :

Nous mettons à votre disposition une machine virtuelle Debian/ProWhy installée et configurée afin de permettre le test et/ou l'utilisation de l'application ProWhy sans avoir à réaliser l'installation complète du serveur. Vous pouvez ainsi installer le serveur ProWhy sur une machine Windows, Linux, Mac OSX ou Solaris
Téléchargement et documentation : VM Debian / ProWhy

En cas de difficultés avec l'installation, vous pouvez poser vos questions dans le forum :
Installation et configuration

Installation testée sous Ubuntu 14.04 / 16.04 et Debian 8 Jessie

1. Installation de Ruby.

Installations nécessaires pour rvm, ruby, rails, etc :
$ sudo apt-get update
$ sudo apt-get install git-core curl zlib1g-dev build-essential libreadline-dev libxslt-dev libxslt1-dev libxml2 libxml2-dev openssl libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libc6-dev ncurses-dev automake libtool bison subversion python

Installation de rvm (Ruby Versions Manager).

Rvm permet l'installation et la gestion de plusieurs versions de Ruby sur la même machine.
Cette installation permettra une évolution simplifiée vers les versions futures de ProWhy.

Il est préférable d'effectuer l'installation rvm sans les droits d'administrateur, rvm sera installé pour l'utilisateur courant.
Si vous souhaitez que l'installation rvm soit accessible pour tous les utilisateurs, vous devez ajouter sudo devant "bash" et ajouter la commande rvmsudo devant les chargements de gems.

Installation de rvm (=> informations dans https://rvm.io/rvm/install)

Installation de Ruby 1.9.3

Attention : pour lancer une application rvm en sudo, utiliser rvmsudo

2. Installations supplémentaires.

MySql

$ sudo apt-get install mysql-client mysql-server
$ sudo apt-get install libmysqlclient-dev ruby-mysql

Avec Debian 9 (Stretch) remplacer la dernière ligne par :
$ sudo apt-get install default-libmysqlclient-dev
$ sudo apt-get install ruby-mysql2

Installation de la librairie RMagick.

$ sudo apt-get install libmagickcore-dev libmagickwand-dev

Installation de wkhtmltopdf.

Installer une version ≥ 0.12.0

Pour Debian Jessie 64bits :
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-jessie-amd64.deb
$ sudo dpkg -i wkhtmltox-0.12.2.1_linux-jessie-amd64.deb

Pour Debian Jessie 32bits :
$ wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.2.1/wkhtmltox-0.12.2.1_linux-jessie-i386.deb
$ sudo dpkg -i wkhtmltox-0.12.2.1_linux-jessie-i386.deb

Pour les autres distributions, installer une version ≥ 0.12.0 depuis la page https://github.com/wkhtmltopdf/wkhtmltopdf/releases/0.12.2.1/ ou http://wkhtmltopdf.org/downloads.html

Tester :
$ wkhtmltopdf http://www.google.com output.pdf
=> ouvrir le fichier output.pdf

3. Chargement et test de l'application.

Chargement avec svn (subversion).

Cette méthode vous permet d'avoir accès aux mises à jour
Pour faire la mise à jour, dans le dossier prowhy :

Récupération des évolutions de la version :
$ svn update .

Clear des sessions
$ rake db:sessions:clear
$ rake db:tmp:clear
$ rake tmp:clear

Vérification des éventuelles évolutions de base de données à effectuer :
Vérifier sur la page "Annonces"
Relancer le serveur apache
$ sudo service apache2 restart

Installation des composants nécessaires à l'application (gems).

dans le répertoire de l'application (prowhy)
$ cd prowhy (cela va créer le gemset pour rvm associé à l'application)
$ bundle install

si message d'erreur :
     bundle : commande introuvable
lancer la commande :
     $ gem install bundler
puis relancer la commande
     $ bundle install

Mise en place de la BDD.

Dans le répertoire de l'application (prowhy)
Si vous avez une erreur du type :
    migrate Mysql2::Error: All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead:

Créez le fichier : config/initializers/abstract_mysql2_adapter.rb
Contenant :
    require 'active_record/connection_adapters/mysql2_adapter'
    class ActiveRecord::ConnectionAdapters::Mysql2Adapter
       NATIVE_DATABASE_TYPES[:primary_key] = "int(11) auto_increment PRIMARY KEY" 
    end

Et relancez la commande précédente.

Tester l'application : dans le répertoire de l'application (prowhy)
$ rails s
Accéder à l'application depuis un navigateur à l'adresse localhost:3000

Accéder à l'application avec un des logins suivants :

4. Déploiement avec Apache en mode production.

Installer Apache2

$ sudo apt-get install apache2

Installer le module passenger pour Apache

$ gem install passenger -v 4.0.58 --no-rdoc --no-ri

Attention : il semblerai qu'il y ai des problèmes de fonctionnement avec les versions récentes de passenger aussi ne pas oublier de mettre la version 4.0.58

$ rvmsudo passenger-install-apache2-module

Cette commande vérifie de nombreuses dépendances.
Si besoin, effectuer les installations demandées et relancer passenger-install-apache2-module

L'installateur vous indique les chemins du module passenger à reporter dans la création du module ci-dessous.

Chargement du module passenger dans Apache

Créer 2 fichiers passenger.load et passenger.conf dans /etc/apache2/mods-available (adapter les chemins en fonction de votre configuration)

passenger.load :

LoadModule passenger_module /home/prowhy/.rvm/gems/ruby-1.9.3-p551@prowhy-rails-3.2/gems/passenger-4.0.58/buildout/apache2/mod_passenger.so

passenger.conf

<IfModule mod_passenger.c>
     PassengerRoot /home/prowhy/.rvm/gems/ruby-1.9.3-p551@prowhy-rails-3.2/gems/passenger-4.0.58
     PassengerDefaultRuby /home/prowhy/.rvm/gems/ruby-1.9.3-p551@prowhy-rails-3.2/wrappers/ruby
</IfModule>

Activer le module passenger pour Apache :
$ sudo a2enmod passenger

Création de l'utilisateur "passenger" et droits d'accès

$ sudo useradd --system passenger

Ajoutez votre utilisateur courant dans le groupe passenger afin d'avoir toujours les droits pour effectuer des modifications et les mises à jour de l'application (l'information n'est prise en compte par le système qu'après redémarrage):
$ sudo usermod -a -G passenger USER_NAME

Ajouter l'information dans la configuration de Passenger (dans apache2/mods-availables/passenger.conf) :

PassengerDefaultUser passenger

Attribuer les droits d'accès pour l'utilisateur passenger :
Attention : l'application doit pouvoir écrire dans les répertoires et sous répertoires de public/pdf, public/docs et public/images/indicateurs
(adaptez le chemin en fonction de votre installation)
$ sudo chown passenger:passenger ~/prowhy/config/environment.rb
$ sudo chmod 664 ~/prowhy/config/environment.rb
$ sudo chown -R passenger:passenger ~/prowhy/public
$ sudo chmod -R 775 ~/prowhy/public

Création du lien vers le dossier public de l'application (dans /var/www par exemple)

$ sudo ln -s ~/prowhy/public /var/www/prowhy

Paramétrage : passage de ProWhy en mode production

Création de la database production :
$ rake db:create RAILS_ENV=production
$ rake db:migrate RAILS_ENV=production
$ rake db:fixtures:load RAILS_ENV=production

Configuration du Virtual Host Apache en mode production

Dans cet exemple, nous conservons la configuration par défaut d'Apache, et nous ajoutons notre configuration de prowhy telle que l'accès à l'application soit réalisé avec : http://adresse_du_serveur/prowhy

Vous pouvez désormais accéder à l'application prowhy :
http://adresse_du_serveur/prowhy

Login : admin
Passwd : admin


Installation de ProWhy 1.0 sous Linux

Nouvelle version :

Pour installer la dernière version de ProWhy, c'est ici : Installation de ProWhy sous Linux

ProWhy doit être installé sur un serveur.
C'est une application web développée avec le framework Ruby On Rails qui peut être installée sur n'importe quel serveur Linux. L'installation sur serveur Windows est également possible mais non documentée.
La documentation complète d'installation sous Linux est disponible sur ce site.
L'utilisateur n'a rien à installer sur sa machine et peut utiliser n'importe quel système d'exploitation (windows, linux, ios, android etc).
Il lui faut seulement un navigateur récent et une connexion au serveur. L'application est optimisée pour Mozilla Firefox, mais peut également être utilisée depuis IE, Chrome, Safari, etc.

Méthode alternative :

Nous mettons à votre disposition une machine virtuelle Debian/ProWhy installée et configurée afin de permettre le test et/ou l'utilisation de l'application ProWhy sans avoir à réaliser l'installation complète du serveur. Vous pouvez ainsi installer le serveur ProWhy sur une machine Windows, Linux, Mac OSX ou Solaris
Téléchargement et documentation : VM Debian / ProWhy

En cas de difficultés avec l'installation, vous pouvez poser vos questions dans le forum :
Installation et configuration

Installation testée sous Ubuntu 12.04 / 13.04 et Debian wheezy

1. Installation de Ruby.

Installations nécessaires pour rvm, ruby, rails, etc :
$ sudo apt-get update
$ sudo apt-get install git-core curl zlib1g-dev build-essential libreadline-dev libxslt-dev libxslt1-dev libxml2 libxml2-dev openssl libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libc6-dev ncurses-dev automake libtool bison subversion python

1.1 Installation avec rvm (Ruby Versions Manager).

Recommandé (rvm permet l'installation et la gestion de plusieurs versions de Ruby sur la même machine).
Cette installation permettra une évolution simplifiée vers les versions futures de ProWhy.

Il est préférable d'effectuer l'installation rvm sans les droits d'administrateur, rvm sera installé pour l'utilisateur courant.
Si vous souhaitez que l'installation rvm soit accessible pour tous les utilisateurs, vous devez ajouter sudo devant "bash" et ajouter la commande rvmsudo devant les chargements de gems.

Installation de rvm (=> informations dans https://rvm.io/rvm/install)

Installation de ruby 1.8.7

Attention : pour lancer une application rvm en sudo, utiliser rvmsudo

1.2 Installation sans rvm.

Installer Ruby 1.8.7 et Rubygems
$ sudo apt-get install ruby1.8 rdoc libopenssl-ruby ruby1.8-dev rubygems

2. Installation de Rails.

Dans les commandes gem suivantes, ajouter sudo ou rvmsudo si nécessaire.

Installation de rails 2.3.18
$ gem install rails -v 2.3.18 --no-ri --no-rdoc

3. Installation de MySql.

$ sudo apt-get install mysql-client mysql-server
$ sudo apt-get install libmysql-ruby libmysqlclient-dev
$ (rvmsudo) gem install mysql --no-ri --no-rdoc

Attention, sur Ubuntu >= 14.04, le paquet libmysql-ruby est remplacé par ruby-mysql
Faire les installation suivantes :
$ sudo apt-get install mysql-client mysql-server 
$ sudo apt-get install libmysqlclient-dev
$ sudo apt-get install ruby-mysql
$ gem install mysql --no-ri --no-rdoc

4. Installation de RMagick.

$ sudo apt-get install graphicsmagick-libmagick-dev-compat
$ sudo apt-get install libmagickcore-dev libmagickwand-dev
$ gem install rmagick -v '2.13.2' --no-ri --no-rdoc

5. Chargement et test de l'application.

5.1 Chargement avec svn (subversion).

5.2 Installation des composants nécessaires à l'application (gems).

dans le répertoire de l'application (prowhy)
$ rake gems:install

Si erreur : 
rake aborted! 
no such file to load -- rdoc/task 

Installer rdoc :
$ gem install rdoc
et relancer la commande :
$ rake gems:install 

Si erreur :
rake aborted! 
undefined method `source_index' for Gem:Module 

Faire la mise à jour de RubyGem :
$ gem update --system 1.8.25

Et relancer la commande :
$ rake gems:install

5.3. Installation de wkhtmltopdf.

Installer une version ≥ 0.12.0

Pour Debian wheezy 64bits :
$ wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.2.1/wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb
$ sudo dpkg -i wkhtmltox-0.12.2.1_linux-wheezy-amd64.deb

Pour Debian wheezy 32bits :
$ wget http://downloads.sourceforge.net/project/wkhtmltopdf/0.12.2.1/wkhtmltox-0.12.2.1_linux-wheezy-i386.deb
$ sudo dpkg -i wkhtmltox-0.12.2.1_linux-wheezy-i386.deb

Pour les autres distributions, installer une version ≥ 0.12.0 depuis la page :
http://wkhtmltopdf.org/downloads.html

Si vous ne trouvez pas votre distribution, des exécutables 32 et 64 bits sont disponibles dans la page de l'archive 0.12.0 à l'adresse suivante :
http://sourceforge.net/projects/wkhtmltopdf/files/archive/0.12.0/

Tester :
$ wkhtmltopdf http://www.google.com output.pdf
=> ouvrir le fichier output.pdf

5.4 Mise en place de la BDD.

Dans le répertoire de l'application (prowhy)

Tester l'application : dans le répertoire de l'application (prowhy)
$ ruby ./script/server
Accéder à l'application depuis un navigateur à l'adresse localhost:3000

Accéder à l'application avec un des logins suivants :

6. Déploiement avec Apache en mode production.

Installer Apache2

$ sudo apt-get install apache2

Installer le module passenger pour Apache

$ gem install passenger -v 4.0.58 --no-rdoc --no-ri

Attention : il semblerai qu'il y ai des problèmes de fonctionnement avec les versions récentes de passenger aussi ne pas oublier de mettre la version 4.0.58

$ rvmsudo passenger-install-apache2-module

Cette commande vérifie de nombreuses dépendances.
Si besoin, effectuer les installations demandées et relancer passenger-install-apache2-module

L'installateur vous indique les chemins du module passenger à reporter dans la création du module ci-dessous.

Chargement du module passenger dans Apache

Créer 2 fichiers passenger.load et passenger.conf dans /etc/apache2/mods-available (adapter les chemins en fonction de votre configuration)

passenger.load :

LoadModule passenger_module /home/prowhy/.rvm/gems/ruby-1.8.7-head/gems/passenger-4.0.55/buildout/apache2/mod_passenger.so

passenger.conf

<IfModule mod_passenger.c>
     PassengerRoot /home/prowhy/.rvm/gems/ruby-1.8.7-head/gems/ruby-1.8.7-head/gems/passenger-4.0.55
     PassengerDefaultRuby /home/prowhy/.rvm/gems/ruby-1.8.7-head/gems/ruby-1.8.7-head/wrappers/ruby
</IfModule>

Activer le module passenger pour Apache :
$ sudo a2enmod passenger

Création de l'utilisateur "passenger" et droits d'accès

$ sudo useradd --system passenger

Ajoutez votre utilisateur courant dans le groupe passenger afin d'avoir toujours les droits pour effectuer des modifications et les mises à jour de l'application (l'information n'est prise en compte par le système qu'après redémarrage):
$ sudo usermod -a -G passenger USER_NAME

Ajouter l'information dans la configuration de Passenger (dans apache2/mods-availables/passenger.conf) :

PassengerDefaultUser passenger

Attribuer les droits d'accès pour l'utilisateur passenger :
Attention : l'application doit pouvoir écrire dans les répertoires et sous répertoires de public/pdf, public/docs et public/images/indicateurs
(adaptez le chemin en fonction de votre installation)
$ sudo chown passenger:passenger ~/prowhy/config/environment.rb
$ sudo chmod 664 ~/prowhy/config/environment.rb
$ sudo chown -R passenger:passenger ~/prowhy/public
$ sudo chmod -R 775 ~/prowhy/public

Création du lien vers le dossier public de l'application (dans /var/www par exemple)

$ sudo ln -s ~/prowhy/public /var/www/prowhy

Paramétrage : passage de ProWhy en mode production

Configuration du Virtual Host Apache en mode production

Dans cet exemple, nous conservons la configuration par défaut d'Apache, et nous ajoutons notre configuration de prowhy telle que l'accès à l'application soit réalisé avec :
http://adresse_du_serveur/prowhy

Vous pouvez désormais accéder à l'application prowhy :
http://adresse_du_serveur/prowhy

Login : admin
Passwd : admin


Mise à jour de ProWhy

Sauvegarde de la base de données

Par sécurité, avant chaque mise à jour effectuer une sauvegarde de la base de données.

Mettre à jour sa version

Dans le dossier de l'application prowhy :

Récupération des évolutions de la version
$ svn update .

Mise à jour de la base de données
$ rake db:migrate RAILS_ENV=production

Si besoin, rechargement de données
=> liste des commandes sur la page Annonce : voir les commandes à lancer depuis votre version précédente.

Clear des sessions
$ rake db:sessions:clear RAILS_ENV=production
$ rake tmp:clear

Relancer le serveur apache
$ sudo service apache2 restart

Mettre à jour vers une nouvelle version

En cours de rédaction


Relances d'actions par mail

Principe

Un système de relance par mail permet de prévenir les responsables des actions de l'échéance à venir.
Des mails sont envoyés automatiquement aux responsables d'actions dont l'échéance arrive à terme. Des mails peuvent également être envoyés quotidiennement pour les actions en retard.

Paramétrage des relances d'actions

Pour une action donnée, si elle n'est pas clôturée, l'application envoie 3 mails de relance : un mail le jour de l'échéance et 2 mails avant l'échéance.
Les délais (échéance - n jours) ainsi que l'activation des relances et les relances pour les actions en retard sont paramétrable dans ProWhy.

=> Administration / Paramétrage des relances d'actions

Paramétrage du serveur mail

à effectuer par l'administrateur du serveur ProWhy

Le serveur de mail doit être configuré afin que l'application soit en mesure d'envoyer des mails de façon automatique.
La configuration du serveur de mail est également nécessaire à l'envoi de mails depuis la page de rapport de l'application.

Ouvrir les fichiers :

Modifier les lignes suivantes :

# CONFIGURATION MAIL
config.action_mailer.smtp_settings = {
    :address  => 'mail.server.fr',
    :port  => '25',
    :domain => 'www.server.fr',
    :openssl_verify_mode  => 'none'
  }

Réinitialisation des mots de passe par mail

Ce paramétrage est à effectuer pour que que l'application envoie un lien fonctionnel aux utilisateurs lors de la demande de réinitialisation des mots de passe.
Ouvrir le fichier :

Et modifier la ligne suivante :

default_url_options :host => "localhost/prowhy_dev"   # adresse de l'application.

Attention ! Si l'utilisateur est connecté avec son compte LDAP, le nouveau mot de passe est enregistré localement. L'utilisateur pourra alors se connecter indifféremment à son compte avec son mot de passe LDAP ou le mot de passe local. Les informations contenue dans le LDAP ne seront jamais modifiées par ProWhy.

Mise en route

à effectuer par l'administrateur du serveur ProWhy

$ cd « repertoire de l'application »

1. Si Ruby a été installé avec rvm, lancer les commandes suivantes :

$ rvm cron setup

2. Dans le répertoire de l'application, lancer la commande :

$ whenever --update-crontab relance_action

3. Pour vérifier le crontab :

$ crontab -l

Attention : l'utilisateur courant doit pouvoir écrire dans prowhy/log

Les mails sont envoyés tous les jours à 6h00. L'horaire d'envoi des mails est modifiable dans le crontab.


Téléchargement de ProWhy

Prowhy doit être installé sur un serveur.
C'est une application web développée avec le framework Ruby On Rails pouvant être installée sur n'importe quel serveur Linux. L'installation sur serveur Windows est également possible mais non documentée.
La documentation complète d'installation sous Linux est disponible ici : Installation ProWhy.
L'utilisateur n'a rien à installer sur sa machine et peut utiliser n'importe quel système d'exploitation (windows, linux, ios, android etc).
Il lui faut seulement un navigateur récent et une connexion au serveur. L'application est optimisée pour Mozilla Firefox, mais peut également être utilisée depuis IE, Chrome, Safari, etc.

Méthode alternative :

Nous mettons à votre disposition une machine virtuelle Debian/ProWhy installée et configurée afin de permettre le test et/ou l'utilisation de l'application ProWhy sans avoir à réaliser l'installation complète du serveur. Vous pouvez ainsi installer le serveur ProWhy sur une machine Windows, Linux, Mac OSX ou Solaris
Téléchargement et documentation : VM Debian / ProWhy

Avec subversion (conseillé)

Le téléchargement de l'application avec subversion (dernière version en cours) vous permet de bénéficier des mises à jours.

Pour mettre à jour votre version :

Téléchargement

Version Date Téléchargement Version Rails
Prowhy 1.4.0 R279 juillet 2017 prowhy_1.4_r279.tar.gz Rails 3.2.13
prowhy_1.4_r279.zip
Prowhy 1.3.1 R222 avril 2017 prowhy_1.3_r222.tar.gz Rails 3.2.13
prowhy_1.3_r222.zip
Prowhy 1.3.0 R177 septembre 2016 prowhy_1.3_r177.tar.gz Rails 3.2.13
prowhy_1.3_r177.zip
Prowhy 1.0.4 R134 mai 2016 prowhy_1.04_r134.tar.gz Rails 2.3.18
prowhy_1.04_r134.zip
Prowhy 1.0.3 R86 juillet 2015 prowhy_1.03_r86.tar.gz Rails 2.3.18
prowhy_1.03_r86.zip
Prowhy 1.0.2 R67 mai 2015 prowhy_1.02_r67.tar.gz Rails 2.3.18
prowhy_1.02_r67.zip
Prowhy 1.0.1 R60 mars 2015 prowhy_1.01_r60.tar.gz Rails 2.3.18
prowhy_1.01_r60.zip
Prowhy 1.0.1 R50 jan 2015 prowhy_1.01_r50.tar.gz Rails 2.3.18
prowhy_1.01_r50.zip
Prowhy 1.0 nov 2014 prowhy_1.0_r49.tar.gz Rails 2.3.18
prowhy_1.0_r49.zip

Téléchargement de ProWhy

Avec subversion (conseillé)

Le téléchargement de l'application avec subversion vous permet d'effectuer très simplement les mises à jours.

Pour mettre à jour votre version :

Téléchargement

Prowhy 1.0

tar.gz : download

zip :  download

Upgrade vers Prowhy 1.3

Sauvegarde Prowhy 1.0.X

Pour cette mise à jour, nous allons installer ProWhy 1.3 en parallèle de l'ancien ProWhy.

Vous pouvez accéder à l'ancienne version de l'application depuis l'adresse : http://adresse_du_serveur/prowhy1_0

Installation Ruby 1.9.3

Rvm

Si Ruby a été précédemment installé sans utiliser "rvm" alors vous devez installer rvm.
Pour cela, se réferrer au point 1 de la documentation d'installation de ProWhy 1.3 ici : Installation RVM

Ruby 1.9.3

Rappel : vous devez ajouter rvmsudo devant les commandes uniquement si vous avez réalisé une installation en root de rvm.

Chargement et installation de ProWhy 1.3

Chargement avec svn

Créer un répertoire prowhy et charger l'application
$ mkdir prowhy
$ svn checkout http://www.prowhy.org/svn/prowhy/stable/prowhy-1.3-b prowhy

Droits sur les répertoires de l'application

$ sudo chown passenger:passenger ~/prowhy1.3/config/environment.rb
$ sudo chmod 664 ~/prowhy1.3/config/environment.rb
$ sudo chown -R passenger:passenger ~/prowhy1.3/public
$ sudo chmod -R 775 ~/prowhy1.3/public

Installation des composants nécessaires à l'application (gems)

Dans le répertoire de l'application (prowhy)
$ cd prowhy // le gemset associé à cette version de Prowhy est automatiquement créé à cette étape
$ bundle install

Mise à jour de la base de données

Attention : si vous n'avez pas réalisé la sauvegarde de la base de données, il est indispensable de la réaliser avant l'étape suivante.

Dans le répertoire de l'application (prowhy1.3)

Transfert des modifications

Si vous avez effectué des modifications (fichiers fixtures, image de la page d'accueil), vous devez transférer les fichiers correspondants :

Configuration Apache

Création du lien vers le dossier public de l'application (dans /var/www par exemple)

$ sudo ln -s ~/prowhy/public /var/www/prowhy

Configuration du Virtual Host Apache en mode production

Vous pouvez désormais accéder à l'application prowhy :
http://adresse_du_serveur/prowhy

Login : admin
Passwd : admin


Téléchargement et installation de la machine virtuelle Debian/Prowhy

Nous mettons à votre disposition une machine virtuelle Debian/ProWhy installée et configurée afin de permettre le test et/ou l'utilisation de l'application ProWhy sans avoir à réaliser l'installation complète du serveur.
Vous pouvez ainsi installer le serveur ProWhy sur une machine Windows, Linux, Mac OSX ou Solaris.

Installation de VirtualBox

VirtualBox est un logiciel de virtualisation libre et gratuit sous licence GPL version 2.
Il est disponible pour les systèmes d'exploitation Windows, Linux, Mac OSX et Solaris.

Rendez vous sur la page de téléchargement de VirtualBox : https://www.virtualbox.org/wiki/Downloads
Téléchargez la dernière version correspondant à votre système d'exploitation.
Lancez le programme d'installation et suivez les instructions (vous pouvez si besoin laisser les choix par défaut).

Téléchargement de la VM ProWhy

Attention : le téléchargement peut être long, fichier de 2 à 4 Go

Installation Version Téléchargement MD5 Size
Debian 8.8(32B) / 8.9(64B) Prowhy 1.4.1 rev 2 32 bits Téléchargement 719318735e8b443ea51033c52b5c6470 3 733 805 056 octets
64 bits Téléchargement 1233544ad10f360a0ae8f6051f0c23ac 2 936 568 320 octets
Debian 8.8(32B) / 8.9(64B) Prowhy 1.4.0 rev 1 32 bits Téléchargement 7b1a37d267b2e94c08681cf3300a4a45 3 654 397 440 octets
64 bits Téléchargement" 110e76cebbc67528e55e28b829d224f8 2 944 159 232 octets
Debian 8 Prowhy 1.3.0 32 bits Téléchargement 14911289b587bcea08bd35d25f48c5d4 2 774 210 048 octets
64 bits Téléchargement b0ae90abc583ed9797ca91b9968bbce2 2 719 703 040 octets
Debian 7 Prowhy 1.0.1 32 bits Téléchargement dd8fa0eb07984d3c01f421496f08831d 2868049408 octets
64 bits Téléchargement b857f949a9475796308185ccfd953817 2 669 624 320 octets

Composants installés et codes d'accès

La VM contient les éléments suivants : Codes d'accès :

Utilisateurs ayant accès à sudo (configuration dans /etc/sudoers) : prowhy
Accès ssh : root, prowhy

Importation et Configuration

Importation de la machine virtuelle ProWhy

Dans un premier temps vous devez importer la VM ProWhy dans VirtualBox :

Le chargement peut durer plusieurs minutes.

Configuration du réseau

Afin d'accéder à l'application depuis l’extérieur de la VM vous devez paramétrer le réseau.

Dans VirtualBox :

Démarrer la VM afin de terminer la configuration de la machine.

Configuration en DHCP : le réseau doit être fonctionnel.

Configuration en IP Fixe :

Avec cette configuration, la machine virtuelle est repérée sur le réseau de la même manière qu'une machine réelle du réseau.

Mise à jour de l'application ProWhy

Ouvrir un terminal : Effectuer la mise à jour de l'application ProWhy : Recharger le serveur Apache


Wiki

Installation de ProWhy

Téléchargement de ProWhy

Installation de ProWhy sous Linux

Upgrade de ProWhy1.0.X vers ProWhy 1.3

Mise à jour de votre version de ProWhy

Méthode alternative :

Téléchargement et installation de la machine virtuelle Debian/Prowhy

Administration / Configuration

Configuration de l'application

Gestion des utilisateurs et des droits d'accès

Mise en place et configuration des relances d'actions par mail

Utilisation

Documentation utilisateur (en construction)

ResPro 2.0

Réponse à l’appel à projets EASYNOV 2016
Catégorie : Usine du Futur
Financement : Région Occitanie, Europe