Giter Site home page Giter Site logo

corporate_risk's Introduction

corporate_risk

Forms for corporate risk evaluation

Introduction

This projet generates input forms (from markdown and tabular data) and implements results management for corporate risk and immaterial capital evaluation.

It is a web application built with Play! Framework and W3C's Semantic Web recommandations (RDF, SPARQL).

Status

In production.

Technique

This projet leverages on semantic forms, a form generators leveraging semantic web standards RDF(S), OWL, SPARQL, which itself leverages on Play! Framework, Banana-RDf and Jena TDB.

Running

First, install from sources the Scala project semantic_forms/forms. Then, just like any Play! Framework application, install SBT, and type:

run

For more details, see in semantic_forms the paragraph "How to run"

There is also a script to restart the server when the code has changed: update_server.sh

Debug

See playframework documentation/2.3.x/IDE

Apparently Activator, not SBT, is needed: activator -jvm-debug 9999 run

Preloading RDF content

  • Preloading vocabularies, and pre-defined form specifications : in shell type:
    populate_db.sh

Generating all PDF

Set system variable (in shell)

export PDFBATCH=true

then restart the application; all reports will be in directory PDF/ /

Note on the data model

There are 3 levels:

  • form groups
  • forms
  • questions

A form is modeled by an OWL class C, plus an OWL object property P, such that :

P rdfs:domain :User ; rdfs:range C .

which means that P connects the class User to a class C that models the form. The form is built by the semantic_forms framework from C by gathering all properties PC such that:

PC rdfs:domain C .

So each PC gives an atomic question (i.e. field form) in the form defined by C and P. And user data are triples like: <users/email123-456> PC "5" . <users/email123-789> PC .

Then forms are grouped in form groups appearing in different pages in the application, with a summary of the answers. In the RDF database, the form groups are connected to the OWL object properties P of the forms by a ques:properties predicate, like this :

:risk-fg a :FormGroup ;
     rdfs:label "Questions sur la gestion des risques."@fr ;
    :properties :prop-5 , :prop-6 , :prop-7 , :prop-8 ,:prop-9 , :prop-10 , :prop-11 , :prop-12 , :prop-13 , :prop-14 , :prop-15
.

Currently some things are hard coded in UserDataTrait :

    formsGroups = List("risk", "human", "structural", "operational")
    formsGroupsURIs

But in principle any database made of OWL Turtle files can be used in the application.

API

example (WIP)

val formGroup: FormGroup = applicationClassesAndProperties(formGroupURI)
val user = User.find(email).get
val userDataURIs = getUserData(user, formGroup.toString)
for (userDataURI <- userDataURIs) {}
//      for(cp <- formGroup.classesAndProperties) {   }

corporate_risk's People

Contributors

djigodiabe avatar jmvanel avatar loryculaire avatar sylvainlb avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

corporate_risk's Issues

Règles métiers simples pour nourrir le rapport

Exemples de règles possibles

  • SSII, e-commerce, métiers de l'information => pas concerné par les problèmes de chaîne d'approvisionnement;
    par contre il peut avoir des problèmes d'hébergeur;
    • on peut faire une règle pour supprimer des questionnaires,
    • ou bien juste changer les coefficients en fonction du domaine de la société
  • comptable, EURL => pas de pb d'actionnariat
  • s'il n'y a pas de salariés => cela supprime plusieurs questions ( donc répondre avant à nb de salariés )
  • questions sur "Accès et infrastructures" , inférence possible à partir de l'adresse ( via base d'adresses inversée BANO + base géographie directe )
  • notoriété : question pertinente sauf si entreprise en création, ou si dirigeant connu
  • règle "cordonnier mal chaussé" : si l'activité de l'entreprise concerne la sécurité, et si les réponses sur la sécurité sont mauvaises, on a un point d'amélioration tout trouvé.

A toutes fins utiles, on a ajouté des liens sémantiques des questionnaires "risque" vers des concepts de dbPedia.org :

ques:5 dc:subject dbpedia:Security_policy .
ques:6 dc:subject dbpedia:Organization .
ques:6 dc:subject dbpedia:Security .
ques:6 dc:subject dbpedia:Safety .
ques:7 dc:subject dbpedia:Classified_information .
ques:8 dc:subject dbpedia:Security .
ques:8 dc:subject dbpedia:Safety .
ques:8 dc:subject dbpedia:Staff .
ques:9 dc:subject dbpedia:Physical_security .
ques:10 dc:subject dbpedia:Computer_network .
ques:11 dc:subject dbpedia:Access_control .
ques:12 dc:subject dbpedia:Software_development .
ques:13 dc:subject dbpedia:Crisis_management .
ques:14 dc:subject dbpedia:Business_continuity .
ques:15 dc:subject dbpedia:Regulatory_compliance .

Ces liens se trouvent là :
https://github.com/jmvanel/corporate_risk/blob/master/vocabulary/risk/semantic_links.ttl
ques:5 à ques:15 font référence aux questionnaires définis ici :
https://github.com/jmvanel/corporate_risk/blob/master/vocabulary/risk/risk_questions.owl.ttl

On a rempli la même chose pour le capital immatériel :
https://github.com/jmvanel/corporate_risk/blob/master/vocabulary/capital/semantic_links.ttl

moyenne pour les questions capital

Les questions risque ont une réponse sous forme de numéro;
les questions capital ont une réponse sous forme de choix ( techniquement un owl:oneOf ).

Il faut leur affecter un numéro pour que la fonction de moyenne puisse les traiter.

Evolution dans le temps

Nous voulions savoir comment vous avez prévu l'affichage pour les entreprises qui ont fait plusieurs évaluations dans le temps pour une seule et même entreprise. Par exemple avoir l'évaluation de l'entreprise X pour le mois de janvier et celui du mois d'Avril par exemple de manière à pouvoir voir l'évolution de sa note du capital immatériel.

Rapport erroné

"Fait partie d'un groupe" n'est pas pris en compte dans le rapport.

Mise à jour VSI

Pour commencer, nous voudrions aussi changer le nom du logiciel VSI par ESI puis rajouter à côté du logo (Evaluation et Sécurisation du capital immatériel).
• Texte page connexion:

L'outil E.S.I permet de mesurer et de piloter simplement les actifs immatériels de votre organisation.

-Pour la page de connexion, quand on met un mot de passe incorrect le logiciel ne nous le signale pas. On aimerait aussi que le logo de l'observatoire de l'immatériel soit plus gros de manière à être plus visible.

-Il faudrait remplacer le logo "DGCIS devient DGE" (logo que je vous ai fourni par mail)

-Dans le rapport, il faut mettre l'intitulé des items car elle ne s'affiche pas.

-Nous avons encore des champs qui s'affichent dans la partie "Diagnostic" qui ne devrait pas y être. Il s'agit des champs "Flexibilité", "Fidélité", "Identification de l'entreprise".

-Pour le pré-diag, si la note est inférieure à 3 qu'on ne puisse pas avoir accès au diag.

-Au niveau du rapport concernant le graphique "gestion du capital immatériel", la légende ne s'affiche pas. Le tableau comporte plus de barre que d'item immatériel.

-Nous voulions savoir comment vous avez prévu l'affichage pour les entreprises qui ont fait plusieurs évaluations dans le temps pour une seule et même entreprise. Par exemple avoir l'évaluation de l'entreprise X pour le mois de janvier et celui du mois d'Avril par exemple de manière à pouvoir voir l'évolution de sa note du capital immatériel.

-Nous voulons que "version beta" soit affiché dans E.S.I

Taille du titre

Agrandir le titre ESI et la baseline, et les placer à droite du header.

Apparence du document exporté

Le document exporté devrait ressembler plus à celui donné en exemple,
celui envoyé par D.D. le 13/01/2015 : fichier VAI-0115IMF.docx .

A CONFIRMER.

Page d'administration

Ajouter une page d'administration permettant :

  • de lister les utilisateurs, avec l'adresse e-mail et l'avancement de chacun
  • de consulter la page de rapport de chaque utilisateur

commit fce7295 non pris en compte

Il semblerait que mon commit fce7295 du 1er mars n'ai pas été pris en compte. Il corrigeait un problème de mise en page du diagnostique. Comment voir la modification ?

refactor User

the fields should be in the abstract class so that we don't have to pass the user as a parameter to its own methods.

Formulaires en trop

Nous avons encore des formulaires qui s'affichent dans la partie "Diagnostic" qui ne devrait pas y être. Il s'agit des formulaires :

  • "Flexibilité",
  • "Fidélité",
  • "Identification de l'entreprise".

Issue de la V1

Page Profil

Une fois l'entreprise créée le bouton "entrer" ne renvoie pas sur la page suivante
Le bouton "L'entreprise fait partie d'un groupe" ne marche pas
Année de création mettre les années (je vois avec morgane)

Page de Prédiag:

Enlever "Diagnostic" et le remplacer par "Prédiag"
Afficher le nbre de questions remplit sur le nbre de questions total
Dans le formulaire, quand on clique n'importe où sur la ligne des notes, on a une note égale à zéro qui est coché
Enlever les boutons "SAVE" et mettre des flèches qui permettent de naviguer entre les formulaires
Quand on quitte le formulaire, il faut qu'on ait une demande "Voulez-vous enregistrer vos réponses"
Quand on appuie sur "SAVE" on revient toujours à la page d'accueil
Mettre un texte expliquant la notation de 0 à 5 (niveau de maturité), il est dans le tableau excel
Page Diag:

Supprimer les lignes correspondant à "Question remplie" en trop
En appuyant sur "SAVE" on revient toujours à la page d'accueil
Enlever les boutons "SAVE" et mettre des flèches qui permettent de naviguer entre les formulaires
Quand on quitte le formulaire, il faut qu'on ait une demande "Voulez-vous enregistrer vos réponses"

Rapport: le rapport ne marche pas ni pour le prédiag ni pour le diag

Contact:

le bouton contact marche mais les logos "Demande de renseignement" et "Vous faire rappeler par nos experts" ne marchent pas. Je vais vous envoyer les coordonnées à mettre.
La page nous demande de nous connecter alors que nous le sommes déjà

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.