Vous êtes sur la page 1sur 37

TRUSTY

Documentation Technique

2017
Table des matières

I. Introduction .......................................................................................................... 4

Sigles et Abréviations .................................................................................................. 6

PARTIE I : APPLICATION KAIROS


1. Introduction .......................................................................................................... 8

2. Couverture fonctionnelle de KAIROS................................................................. 8

3. Considérations techniques ................................................................................. 13

3.1 Technologie utilisée .............................................................................................. 13

3.1.1 Grails .................................................................................................................. 13

3.1 .2 Architecture 3 tiers et MVC .............................................................................. 14

3.2 Architecture Technologique .................................................................................. 15

3.2.1 Considérations d’utilisation ............................................................................... 15

3.2.2 Considérations matérielles et logicielles ............................................................ 15

3.2.3 Robustesse, relève et disponibilité ..................................................................... 16

3.2.4 Capacités et performances .................................................................................. 18

3.2.5 Sécurité, authentification, autorisation et suivi des accès .................................. 18

3.2.6 Exploitation et outils de gestion ......................................................................... 19

3.2.7 Données .............................................................................................................. 19

3.2.8 Intégration et échanges de données .................................................................... 19

3.2.9 Gestion des rapports et impression .................................................................... 20

3.2.10 Caractéristiques du logiciel KAIROS .............................................................. 20

PARTIE II : APPLICATION XPADOC

2
TRUSTY - Documentation Technique.
4. Introduction ........................................................................................................ 23

5. Description globale ............................................................................................ 23

a. L’environnement du produit .............................................................................. 23

b. Profil des utilisateurs ......................................................................................... 23

c. Fonctionnalités du produit ................................................................................. 25

6. Spécifications détaillées ..................................................................................... 26

Cas d’utilisation rédigé ; délivrer diplôme. ....................................................... 29

II. Environnement technique .................................................................................. 30

1. Architecture Logicielle ...................................................................................... 30

2. Technologies utilisées ........................................................................................ 31

3. Modèles de données ........................................................................................... 31

III. API Utilisés ........................................................................................................ 32

PARTIE III: Interfaçage XPADOC / KAIROS


IV. Interactions XPADOC / KAIROS (TRUSTY) .................................................. 34

Interfaçage Web Services XPADOC / KAIROS ........................................................ 35

3
TRUSTY - Documentation Technique.
I. Introduction
TRUTSY est l’association de deux applications que sont XPADOC de SenTrust et KAIROS de
SenSoft.
Alors qu’il était auparavant quasiment impossible de distinguer un faux diplôme sauf à appeler
directement l’institution émettrice, Sentrust, propose une solution informatique bien pensée
XPADOC, combinée aux signatures numériques, permettant désormais aux universités d’émettre
des diplômes totalement sécurisés en seulement quelques clics, et à un recruteur de les vérifier en
un seul clic.
KAIROS est une plateforme de gestion intégrée spécialement conçue pour le monde de l’éducation,
de l’enseignement et de la formation.
Il prend en compte tout le fonctionnement d’un établissement scolaire de la phase de recrutement à
la sortie des apprenants.
Dans TRUSTY, KAIROS se charge d’envoyer les informations des diplômes à XPADOC qui de
son côté procédera à la génération, à la signature, à l’impression et à l’authentification des diplômes
des établissements. C’est au niveau de l’ADIE que la plateforme sera hébergée car ils sont garants
de l’exploitation et de la promotion dans le secteur de l’éducation.

4
TRUSTY - Documentation Technique.
Définitions de quelques termes :
 QRCODE : Un QR code, c’est un carré, rempli de petits carrés noirs et blancs. On dirait
un dessin. Ces petits carrés forment un code, composé de caractères alphanumériques (des
chiffres et des lettres), qu’un décodeur peut lire. En principe, il lit une adresse internet. Ce
décodeur ou lecteur est une application que vous pouvez trouver dans le catalogue
d’applications de votre smartphone.
 Générateur : Le générateur est l’utilisateur responsable de la génération des diplômes au
format PDF.
 Signataire : Le signataire est appelé à signer les diplômes le concernant. Il a un niveau de
signature c’est à dire son rang dans la liste des signataires qui doivent signer un type de
diplôme donnée. Il a la possibilité de visualiser et de signer un ou plusieurs diplômes.
 Délivreur : Il représente l’imprimeur physique des diplômes. C’est lui qui est chargé
d’imprimer le diplôme dans du papier sécurisé
 Papier sécurisé : Le premier niveau de protection de votre document consiste à le
personnaliser pour le rendre exclusif : il porte la griffe infalsifiable de votre marque comme
une véritable empreinte. Cette étape de définition et de fixation de la griffe est rigoureuse :
elle produit une norme immuable qui évite toute confusion lors de la vérification du
document.

5
TRUSTY - Documentation Technique.
Sigles et Abréviations
Nous présentons ici certains sigles et abréviations que nous utiliserons dans le document.

ADIE Agence De l’Informatique de l’Etat

QRCODE Quick Reponse Code

HTTP HyperText Transfer Protocol

XML eXtensible Markup Language

API Application Programming Interface

URI Uniform Ressource Identifier

REST Representational State Transfer

WS Web Services

AJAX Asynchronous JavaScript and XML

JS JavaScript

6
TRUSTY - Documentation Technique.
PARTIE I
Application KAIROS

7
TRUSTY - Documentation Technique.
1. Introduction
KAIROS est la solution stratégique au cœur de votre établissement.

C'est une solution intégrée dédiée au monde de l'éducation qui s'adapte facilement à la taille et au
profil de votre établissement.

Solution orientée client avec une accessibilité à travers divers canaux (PC, NoteBook, Tablettes,
SmartPhone, SMS, Email,...).

2. Couverture fonctionnelle de KAIROS


La couverture fonctionnelle de la suite KAIROS est spécialement conçue pour le monde de
l'éducation, de l'enseignement et de la formation. Il prend en compte tout le fonctionnement d’un
établissement scolaire de la phase de recrutement à la sortie des apprenants.

Ci-dessous un aperçu de l’ensemble des fonctionnalités.

8
TRUSTY - Documentation Technique.
Pédagogie
Maitrisez vos concours d’entrée et vos processus de
recrutement
Organisez vos concours d’entrée en toute simplicité ; de l’enregistrement du
candidat à la délibération en passant par les notes d’épreuves et les présélections.
KAIROS permet d’avoir une sécurité et une totale transparence en attribuant des
numéros anonymes à chaque candidat pour la correction de leur copie d’examen.
Une parfaite intégration de vos programmes et
enseignements
Intégrez et organisez en un seul endroit tous vos enseignements qu'ils soient en
LMD, classique ou spécifique à votre établissement. Vous pouvez également dédier
des programmes par responsable afin de cloisonner et d’éviter que d’autres
personnes accèdent aux programmes dont ils ne sont pas responsables.
Un suivi des activités de vos enseignants et vacataires
Ayez une visibilité sur les activités de vos enseignants à travers une gestion de leur
contrat et de leur CV, un suivi des enseignements dispensés et de leur décompte en
attente de paiement, un suivi de leurs assiduités et de la qualité de leur prestations.

Dématérialisez et partagez les ressources pédagogiques


Publier les ressources électroniques des professeurs et de l’établissement (cours,
livres, exercices, corrigés, annal,...) afin que les apprenants puissent y accéder via
leur portail dédié.
Placez vos apprenants en stage et suivez leur insertion professionnelle
KAIROS vous permet de gérer la base de données de vos entreprises partenaires et
de suivre les placements de stage à travers une automatisation des conventions de
stage, le processus de demande à la validation de stage et de l’évaluation du stagiaire.
Vous pouvez également suivre l’insertion professionnelle des finissants afin de
déterminer l’adéquation de vos formations à l’environnement professionnel.

Automatisez la gestion des soutenances de fin d’études


Organisez vos sessions de soutenances, définissez vos jurys ainsi que leurs membres,
inscrivez les étudiants sortants, enregistrez leur mémoire ainsi que son détails dans
KAIROS pour un meilleur partage avec les futurs sortants.

9
TRUSTY - Documentation Technique.
Scolarité

Une prise en compte totale de la vie des apprenants


Suivez le parcours détaillé des apprenants avec KAIROS. Accédez facilement à
l’historique de leurs inscriptions, de leurs notes, de leurs absences et retards, de leurs
retenues, de leurs certificats ou attestations de scolarité, de la progression de leur
enseignement, de leurs bulletins ou relevés de notes,…
.
Sécurité et fiabilité dans la gestion des notes et des bulletins
Planifiez les évaluations des enseignants et saisissez en toute sécurité les notes
obtenues par les apprenants. KAIROS se charge de les fiabiliser et de se baser sur
vos règles de gestion et méthodes de calcul pour générer les bulletins et relevés de
notes.
Sessions de délibérations et conseil de classe
Organisez à la fin de chaque session d’évaluation ou composition, votre jury de
délibération ou conseil de classe. Vous pourrez ainsi statuer sur les apprenants de
chaque classe pour chaque formation, faire vos repêchages et tirer vos PVs de
délibération. Pour des raisons de sécurité et de fiabilité, le jury procède à la fin de
chaque délibération ou conseil, à la clôture de la session pour figer les notes et
prévenir les modifications éventuelles. Le jury sera le seul habilité à lever les
verrous.
Un dossier exhaustif des apprenants
Avec KAIROS, disposez du dossier détaillé de l’apprenant dans une seule et même
vue. Retrouvez et naviguez aisément sur les informations sur son parcours
pédagogique, ses inscriptions, ses filiations, sa situation financière, ses contacts en
cas d’urgences, ses informations pédagogiques, son historique, …
Suivi de l’assiduité des apprenants et des enseignants

Contrôlez efficacement les absences/retards des étudiants et des enseignants.


KAIROS vous facilite la saisie des absences/retards en la décentralisant sur les
professeurs lors de la saisie de leur émargement de cours depuis leur portail ou sur
les responsables de classes lors de la saisie du cahier de texte électronique.
Une gestion électronique du cahier de texte

Le cahier de texte des classes et des professeurs sont pris en compte dans KAIROS.
Chaque responsable de classe pourra saisir après chaque cours le cahier de texte
depuis son portail dédié et permettre à ses camarades de le consulter. De même les
professeurs peuvent lors de émargements des heures de cours effectués, remplir le
cahier de texte mis à leur disposition par l’établissement.

10
TRUSTY - Documentation Technique.
Une gestion de l’infirmerie et du suivi médical des
apprenants
Pour les établissements qui ont un service médical interne, KAIROS permet
d'enregistrer les premiers soins des étudiants malades, de délivrer une ordonnance
ou de suivre la distribution des médicaments générique en stock.
Production automatisée et simplifiée des cartes des
apprenants
Personnalisez et imprimez directement les cartes pour vos apprenants et utilisez la
même carte pour plusieurs services de l’établissement (identification étudiant,
recouvrement, bibliothèque, contrôle examen, etc...).
La gestion des emplois du temps n’a jamais été aussi simple
KAIROS apporte une solution efficace à la gestion des emplois du temps. Définissez
une seule fois un emploi du temps et le système décline en même temps l'emploi du
temps de la classe, du professeur, de la salle et de l'étudiant. Un système expert vous
permet d'identifier les conflits et vous assiste à les résoudre.
Vous pouvez également définir un emploi du temps basé sur la disponibilité des
enseignants. L’enseignant indique sa disponibilité et KAIROS se charge de décliner
automatiquement son emploi du temps en tenant compte des conflits.
Finance
Facturation et fiche d’engagement
Depuis KAIROS, produisez vos factures proforma et vos factures définitives. Le
système produit également à l’inscription, une fiche d’engagement à présenter à
l’apprenant ou au parent pour signature et qui servira de pièce justificative à la
comptabilité.

Rappel de paiement et bulletin de renvoi


A travers son générateur de rappel de paiement, KAIROS produit chaque mois, les
quittances de paiement et les envoie selon votre canal de préférence (remise des
imprimés aux apprenants, envoi par mail ou SMS directement aux parents). De
même, KAIROS permet à n’importe quel moment de sortir la liste des apprenants
par classe qui ne sont pas en règle et de produire les bulletins de renvois.

Prise en compte des réductions de frais et des gratuités


Vous appliquez des réductions pour une certaine catégorie d’apprenants ? KAIROS
vous permet d’assurer le suivi et vous permet d’avoir à n’importe quel moment le
montant global des réductions accordés par catégorie d’apprenant.

Encaissement des frais pédagogiques et des frais annexes


Permettez à vos caisses de gagner en célérité en automatisant l’encaissement des
frais pédagogiques en toute sécurité. Ce module vous permet également de prendre
en compte les frais annexes (facturation des services d’hébergement, de transport,
les frais de séminaires, services divers, …).

11
TRUSTY - Documentation Technique.
Règlement des vacations des enseignants
Une fois les émargements des enseignants validés par l’administration et décomptés
depuis KAIROS, le service financier de l’établissement pourra préparer les
paiements des professeurs et les informer de la disponibilité de leur solde par Email
ou SMS. Les décaissements sont enregistrés dans le système et permettent à
l’établissement de connaître à temps réel le niveau de règlement des professeurs.

Communication
Communiquez autrement avec vos différents acteurs
Une plateforme de communication interactive et transversale est disponible pour
tous vos acteurs à travers des emails ou SMS groupés, des affichages dynamiques,
des messages sur les documents administratifs ou des messages sur leur écran à la
connexion au système.

Alertes et SMS+
Vous souhaitez informer votre administration, les parents ou vos apprenants dès
qu’un évènement est enregistré ? Avec KAIROS, envoyez des alertes SMS ou mail
dès que l’événement se produit. Par exemple une alerte peut être envoyé aux parents
après chaque règlement de frais. De même une alerte peut être envoyé aux parents
dès qu’une absence ou une note faible de son enfant est constatée.

Sondages, évaluation enseignant et enquêtes de satisfaction


KAIROS offre un module d'enquête de satisfaction/ sondage qui vous permet de
créer vos formulaires d'enquête, de les diffuser à un groupe d'acteurs et de collecter
de façon structurée les réponses des acteurs pour les présenter sous forme de
résultats fiables et exploitables

KAIROS en version mobile


Avec l’avènement des Smartphones, KAIROS s'est ramifié vers une version mobile
pour être en permanence avec ses acteurs avec une revue des fonctionnalités pour
une utilisation optimale sur les mobiles et tablettes.
Des espaces interactifs dédiés
Etudiants, parents et professeurs disposent d'un portail pour consommer des
services mis à leurs dispositions par l'établissement. Sont disponibles entres autres,
les services de demandes de documents en ligne, de réponse aux sondages et
enquêtes, d’émargement de cours dispensés, de saisie de notes ou d’absences et
retards, …
Des tableaux de bord, statistiques et indicateurs de suivi
KAIROS compile toutes les données enregistrées par les fonctionnalités et services
couverts et les présente aux décideurs de l'école sous forme de tableaux de bord, de
statistiques et d'indicateurs pour leur permettre de prendre les bonnes décisions à
temps opportun.

12
TRUSTY - Documentation Technique.
3. Considérations techniques

3.1 Technologie utilisée

3.1.1 Grails
La version actuelle de KAIROS est développée avec la version 2.4.2 du Framework Grails. En
effet, tenant compte de nos diverses expériences, des besoins du marché ainsi que des contraintes
techniques actuelles nous avons choisi le Framework Grails pour ses multiples avantages :

 Grails est basé sur des Frameworks java testés et éprouvés (Spring, Hibernate,
SiteMesh, quartz, etc.). Les technologies sous-jacentes existent depuis plus d’une
décennie et sont largement utilisées.

 Grails est basé sur le langage Groovy qui est un langage dynamique : le code Groovy
est beaucoup plus concis, que le code Java. Cela signifie qu'il y a moins de lignes de
code, donc plus de productivité et moins de code à maintenir.

 Il y a une très forte communauté de Grails, et le projet est soutenu par


SpringSource/VMware.

 La couche de mapping objet/relationnel GORM qui s’appuie sur Hibernate est très
facile à utiliser et flexible. GORM prend en charge toutes les bases de données
relationnelles qui sont pris en charge par Hibernate (JDBC) : DB2, MySQL, Oracle,
SQL Server, PostGreSQL etc.

 Grails s’appuie sur le concept DRY (Don’t Repeat Yourself) / CoC (Convention over
Configuration) / Aucune configuration XML fastidieuse : Les développeurs se
concentrent sur le code plutôt que sur la configuration des composants du Framework.
Une fois que les contrôles nécessaires sont définies sur le modèle, Grails se charge
automatiquement de la validation des données à tous les niveaux de l’application
(modèle, vue, contrôleur etc.)

 Les utilitaires de scaffolding permettent de construire instantanément des prototypes


pour valider une idée, ou pour construire des interfaces d'administration.

 Grails sépare clairement les « environnements » (développement, test et production)


pour plus de sécurité lors des développements.

13
TRUSTY - Documentation Technique.
 Le mécanisme des Tag Lib de Grails permet de créer des balises personnalisées
réutilisables dans les pages web.

 Grails / Groovy s'intègre facilement avec le code déjà écrit en Java. Par conséquent, on
a accès à tout l’écosystème java, et on peut importer tout code java existant. En fait
Groovy tourne sur une machine virtuelle Java.

 Les applications Grails se déploient sur tous les serveurs d’applications Java (Apache
Tomcat, JBOSS, Glassfish, WebSphere, etc.)

 Grails intègre facilement les composants Ajax (JQuery, etc.)

3.1 .2 Architecture 3 tiers et MVC

Lors de la conception de KAIROS le choix d’une architecture 3-tiers a été adopté pour l’application
au niveau du serveur. Cette architecture permet un découplage entre les différentes couches
logicielles de l’application : couche présentation, couche métier et la couche d’accès aux données.
Cette architecture permet une meilleure évolutivité de l’application et une maintenance plus facile
tout en facilitant la gestion de la sécurité sur les données.

14
TRUSTY - Documentation Technique.
3.2 Architecture Technologique

3.2.1 Considérations d’utilisation


KAIROS est un progiciel de gestion scolaire centralisé et utilisant la technologie FULL Web. Le
progiciel est accessible via le réseau Internet ou intranet, par radio, 3G/4G et autres technologies
sans fil (WIFI, WIMAX).

3.2.2 Considérations matérielles et logicielles


 Poste utilisateurs
La configuration conseillée pour le poste de travail est de 512 Mo de RAM et de 1 GHz de CPU.
KAIROS étant Full WEB, l’utilisation d’un navigateur est obligatoire.

Navigateur Version

Internet Explorer 7 et+

Mozilla FireFox Version2 et+

Google Chrome Toutes les versions

Safari 3.0 et+

Le Poste client peut tourner sous système d’exploitation Windows, Mac, Linux, IOS ou Android.

 Poste Serveurs
L’architecture idéale en installation Onsite impose une séparation du serveur applicatif et du serveur
hébergeant les bases de données (donc 2 serveurs physiques séparés). Pour des exigences moindres,
un seul serveur peut répondre au besoin. Il faudra cependant penser à un plan de sauvegarde
rigoureux.

 Serveur http/https + Serveur d’applications

15
TRUSTY - Documentation Technique.
Type de matériel Matériel certifié Windows Server ou Linux

Configuration Intel Xeon(3Ghz+) Cache 8Mo


RAM4 Go+
Disque Dur 40 Go+

OS Windows Server 2003 +


Linux Ubuntu Server ou équivalent

Type de matériel Matériel certifié Windows Server ou Linux

Type de serveur Serveur http et application

Logiciels installés ServeurJ2EE,JDK, KAIROS

 Serveur de base de données

Type de matériel Matériel certifié Windows Server ou Linux

Configuration Intel Xeon(3Ghz+) Cache8Mo


RAM4 Go+
Contrôleur de stockage RAID matériel/soft
DisqueDur3x40Go+

OS WindowsServer2003+
Linux Ubuntu Server ou équivalent

Type de serveur Serveur de Base de données

Logiciels installés MySQL5 ou SQLServer2000 /2008 ou Oracle

3.2.3 Robustesse, relève et disponibilité


 Considérations de robustesse matérielle et logicielle
L’architecture de KAIROS est basée sur des couches logicielles et matérielles éprouvées et fiables :
• Matériel certifié,

• Système d’exploitation à jour et sécurisé (Linux, Windows)

• Java Development Kit (JDK), Apache Tomcat,

• MySQL, SQL Server ou Oracle

 Considérations de robustesse pour l’emmagasinage des données

La robustesse du serveur concernant l’emmagasinage des données s’appuie sur la puissance des
SGBD utilisés. On peut noter ci-dessous les principales caractéristiques :

16
TRUSTY - Documentation Technique.
 Haute disponibilité de la base de données en cluster

 Vues actualisables

 Transactions ACID avec Commit, Rollback

 Serveur renforcé pour l'intégrité référentielle

 Réplication

 Le chiffrement et le déchiffrement des données

 Etc.
 Considérations de balancement de charge
Le balancement de charge se fait à deux niveaux sur KAIROS :

 Au niveau des serveurs d’applications : KAIROS repose sur les serveurs


d’application Apache Tomcat, JBoss ou Glassfish sous l’environnement WINDOWS
ou Linux. Ces serveurs d’applications supportent déjà le LOAD BALANCING même
s’ils sont installés sur un seul serveur. A côté de cela et sous une charge importante de
requêtes, le système peut être déployé en mode n-tiers c'est-à-dire plusieurs serveurs
d’application avec un serveur en frontal qui servira de proxy/load balancer. Le proxy
aura la charge de détecter le serveur d’application le moins sollicité et de lui transférer
les nouvelles requêtes.

 Au niveau de la base de données: Les SGBD Oracle, MS SQL Server et MySQL


proposent des mécanismes de Load Balancing qui pourront être activés au besoin.

 Opérant 24/7/365
KAIROS est conçue pour tourner 24/7/365.
 Opérant sur une architecture Web
KAIROS est un progiciel FULL Web donc fonctionne nativement en mode WEB avec les
navigateurs web les plus courants (Internet Explorer, FireFox, Google Chrome, Apple Safari,
Opéra) et sur les environnements les plus courants (Windows, Linux, Mac).
 Opérant sur Windows
KAIROS tourne sous Windows ou Linux en mode serveur. Il est complètement indépendant de
l’OS en mode client puisqu’il suffit d’un navigateur pour l’utiliser. Donc les Clients Windows,

17
TRUSTY - Documentation Technique.
Linux, Mac peuvent se connecter au système via les navigateurs IE, Mozilla Firefox, Chrome,
Safari ou Opera.
Aucune installation n’est nécessaire coté client pour utiliser le progiciel KAIROS.

3.2.4 Capacités et performances


KAIROS est une application FULL Web développée avec les dernières technologies Internet/Web
2.0.
Les temps de réponse des applications web dépendent de 2 facteurs : la construction de la page, le
transfert et l’affichage de la page.
Concernant le transfert de la page, du fait que nous utilisons la technologie AJAX seule une partie
de la page est rafraichie. Par conséquence, le transfert de la page est très rapide comparée aux
applications web traditionnelles. De plus l’utilisation d’AJAX apporte de nouvelles fonctionnalités
en termes d’interactions avec l’utilisateur (AJAX Push par exemple).

3.2.5 Sécurité, authentification, autorisation et suivi des accès


En matière de sécurité et d’authentification, KAIROS intègre un module assez complet. En effet
nous utilisons le framework Spring Security, référentiel en matière de sécurité. Ce framework prend
en charge quasiment tous les points ci-dessus listés. KAIROS peut s’authentifier à partir d’une
base de données ou à partir d’un annuaire (Active Directory ou LDAP). Le système de sécurité de
KAIROS est basé sur les rôles et autorisations.
Les autorisations seront accordées aux rôles et un utilisateur aura un ou plusieurs rôles en fonction
de ses prérogatives. Le système cumulera les autorisations en fonctions des rôles de l’utilisateur.
Une piste d’audit est intégrée à KAIROS permettant ainsi de tracer tous les événements et toutes les
actions sur les tables critiques. KAIROS enregistre les valeurs avant et après de l’information
modifiée, celui qui l’a modifié, la date et l’heure de modification ainsi que la machine à partir de
laquelle l’action a été effectuée.
KAIROS étant une application FULL Web, tous les échanges entre la machine de l’utilisateur et le
serveur d’application sont cryptés en SSL.
Pour l’encryptage des données, les bases de données comme MS SQL SERVER, ORACLE et SQL
SERVER gèrent très bien ce mécanisme et nous n’avons pas jugé utile de redévelopper la
fonctionnalité. Nous automatisons des sauvegardes à chaud à des moments définis de la journée.
Aussi nous implémentons la réplication des bases de données ou même le clustering de base de
données pour assurer une bonne sauvegarde et restauration en cas d’incidents.
18
TRUSTY - Documentation Technique.
3.2.6 Exploitation et outils de gestion
KAIROS fonctionne avec un client léger avec les protocoles HTTP/S qui, de base, ne sont pas
gourmands en trafic réseau. Cependant, la gestion des aspects liés à la qualité de service du réseau
est laissée au Pare-feu de l’institution ou aux outils et équipements dédiés. Sensoft vérifie
néanmoins ces aspects avant l’implémentation de sa solution pour voir si la bande passante de
l’institution n’est pas saturée par des requêtes non prioritaires (téléchargement tous azimuts peer to
peer, streaming vidéo, gaming,...). Au cas où il n’existe pas au sein de l’institution de compétence
ou d’outil de gestion de la qualité de service du réseau, nous recommandons et accompagnons
l’institution à configurer son routeur si ce dernier intègre le QoS.
En ce qui concerne les outils de gestion, selon le mode d’implémentation, des systèmes et outils
sont proposés. Globalement nous utilisons la console de KAIROS en mode centralisé pour voir ce
qui se passe sur l’ensemble du système.
Les mises à niveau des OS des machines des utilisateurs, n’impactent en rien KAIROS. En effet,
KAIROS fonctionnant avec les navigateurs web et aucun composant n’étant installé sur le poste de
travail de l’utilisateur, les mises à jour des OS affectent généralement pas l’application sauf si les
mises à jour touchent le navigateur. Dans ce cas, les correctifs qui prennent en compte le nouveau
navigateur se feront au niveau du serveur et tous les postes sont automatiquement à jour (nul besoin
de faire des installations ou d’appliquer des patchs ne machine par machine).

3.2.7 Données
Pour l’accès aux données KAIROS utilise les pools de connexion JDBC pour une meilleure gestion
des charges liées aux requêtes.
Toutes les opérations de mises à jour sont gérées en mode transactionnel pour assurer l’intégrité des
données.
Notre application est multi bases de données grâce aux technologies que nous utilisons.

3.2.8 Intégration et échanges de données


Beaucoup de technologies, systèmes et services se développent autour du monde de la
microfinance. Sensoft est conscient qu’il est impossible d’intégrer dans un seul SIG, toutes ces
technologies, systèmes/ moyens de paiement et services actuels et futurs. Aussi, Sensoft a choisi
d’ouvrir son système pour l’interfacer ou l’intégrer avec n’importe quel autre système ou
technologie offrant une API standard. Ce choix est aussi justifié par le fait que nous pensons qu’il
faut laisser à chacun développer son corps de métier de façon élaborée et aboutie.
19
TRUSTY - Documentation Technique.
C’est ainsi KAIROS intègre un moteur de web services puissant qui lui permet d’étendre sa
couverture fonctionnelle vers n’importe quel autre système capable de dialoguer avec les normes
XML standard.
C’est ce que nous appliquons déjà avec nos autres logiciels comme l’application Trusty ou l’API
SmsGateway.

3.2.9 Gestion des rapports et impression


Pour la gestion des rapports nous utilisons la librairie java JasperReports. Elle nous offre une
grande ouverture et flexibilité d’utilisation. La définition des rapports est faite dans un format
XML facile à stocker et à versionner,
La définition des rapports est personnalisée par client et chargé dans la base de données pour plus
de sécurité. Pour le support du multilingue, nous avons deux options :

 Utiliser le support multilingue de JasperReport,

 Définir un rapport par langue, et puisque la définition du rapport est sauvegardée dans
la base, nous pouvons charger le rapport souhaité en fonction de la langue de
l’utilisateur.
Tous les rapports générés peuvent être exportés sous plusieurs formats (pdf, excel, html, rtf, word,
etc). La réimpression peut se faire à la volée, en régénérant le rapport. La mutuelle peut décider
aussi de sauvegarder en table ou dans un dossier certaines impressions en les indexant, pour une
réimpression future. Concernant le serveur d’intelligence d’affaires, nous utilisons la suite
JasperServer, pour le chargement, la transformation des données, l’analyse et le reporting.

3.2.10 Caractéristiques du logiciel KAIROS

Composants Type Composant Poste Observations

Apache Tomcat6+ Serveur d’applications Serveur KAIROSestbasésurduJ2EEetfonctionne


nativement avec le serveur d’application Apache
Tomcat6.Ilpeutégalement fonctionner avec tout
serveur d’application J2EEcommeJBoss,
Glassfish, WebSphere,

20
TRUSTY - Documentation Technique.
MySQL5.x Base de Données Serveur KAIROS est développé avec HIBERNATE qui fait
ORACLE, abstraction de la Base de Données. Toutes les
MSSQLSERVER, requêtes sont des requêtes objet. Ce qui fait de
PostGresSQL ’KAIROS, un progiciel, multi-base.
Elle fonctionne cependant nativement sous
MySQL5.x et peut fonctionner indifféremment
sous MSSQL SERVER, ORACLE,…

JasperReports Intelligence d’Affaires(BI) Serveur

Java6+ Interpréteur Java Serveur KAIROS étant une application J2EE, il lui faut
l’interpréteur JAVA pour fonctionner

InternetExplorer7+ Navigateurs Client


MozillaFirefox3+
Google Chrome
Opéra9+
Safari2+

Android 4.x, 5.X, 6.X Accès Mobile/PDA Mobile PDA KAIROS mobile
Smartphone

Windows Système d’Exploitation Serveur KAIROS est multiplateforme et fonctionne


Linux Client convenablement sur les plateformes
Mac Windows, Linux et Mac

Subversion Gestion du code source Développement Au cas où les codes sources seraient livrés
au CLIENT.

Remine Support Support

21
TRUSTY - Documentation Technique.
PARTIE II
APPLICATION XPADOC

22
TRUSTY - Documentation Technique.
4. Introduction
Alors qu’il était auparavant quasiment impossible de distinguer un faux diplôme sauf à appeler
directement l’institution émettrice, la plateforme d’authentification de diplômes XPADOC, combinée
aux signatures numériques, permet désormais aux écoles et universités d’émettre des diplômes
totalement sécurisés en seulement quelques clics, et à un recruteur de les vérifier facilement. Elle
permet de faire la génération, la signature, l’impression et l’authentification des diplômes des
établissements.
La plateforme a une interface moderne et ergonomique, permettant de gérer efficacement et
simplement l’ensemble des diplômes des établissements.

5. Description globale

a. L’environnement du produit
L'environnement de développement utilisé est composé de :

 MAVEN :
Apache Maven est un outil de gestion et d'automatisation de production des projets logiciels Java en
général et Java EE en particulier. Maven est géré par l'organisation Apache Software Foundation.
L'objectif recherché est de produire un logiciel à partir de ses sources, en optimisant les tâches
réalisées à cette fin et en garantissant le bon ordre de fabrication.

 APACHE TOMCAT 7.0.55 :


Le serveur d'application qui permet d’héberger une application afin de la tester tout au long du
développement.
 MYSQL :
Le serveur de bases de données qui permet d'héberger les données liées à l'application.
Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le
grand public (applications web principalement) que par des professionnels.

b. Profil des utilisateurs

Nous avons 6 (six) profiles dans notre plateforme :

23
TRUSTY - Documentation Technique.
 Super Administrateur : Il est responsable de la création des établissements et de leur
administrateur.
Le super Administrateur est aussi chargé de la création des signataires qui sont rattachés à
plusieurs établissements à la fois. Il gère aussi les templates des diplômes de différents
établissements.

 Administrateur Etablissement : Il est rattaché à un établissement donné. Il n’a la


possibilité d’accéder qu’aux informations de son établissement. Il a principalement pour
rôle de gérer les différents utilisateurs de son établissement. Il a la possibilité de créer,
modifier, supprimer, activer et désactiver un générateur de diplôme, un signataire de
diplômes et un délivreur de diplôme.

 Générateur (imprimeur numérique de diplômes) : Le générateur est l’utilisateur


responsable de la génération des diplômes au format PDF. Pour l’intégration avec le
système KAIROS l’ensemble des informations des diplômes d’un établissement sont
fournis par KAIROS via des services web. C’est au niveau de la plateforme XPADOC que
les diplômes sont générés. Cette génération ne peut être faite que par un générateur et c’est
la seule action qu’il peut effectuer au niveau du système pour des raisons de sécurité.

 Signataire : Le signataire est appelé à signer les diplômes le concernant. Il a un niveau de


signature c’est à dire son rang dans la liste des signataires qui doivent signer un type de
diplôme donnée. Il n’a la possibilité que de visualiser et de signer un diplôme. Il a la
possibilité de signer un seul ou plusieurs diplômes.

 Délivreur (imprimeur physique de diplômes) : Il représente l’imprimeur


physique des diplômes. C’est lui qui est chargé d’imprimer le diplôme sur du papier
sécurisé. Il a la possibilité de voir l’ensemble des diplômes en phase d’impression. Après
avoir imprimé un diplôme il doit notifier le système de l’avoir fait. Un diplôme imprimé est
en fin de processus et peut être livré au concerné.
 Entreprise : L’utilisateur qui a un profil entreprise peut vérifier l’authenticité d’un
diplôme en y renseignant l’identifiant du diplôme. Si le diplôme est authentique, le système
lui envoie l’ensemble des informations contenues dans le diplôme, sinon le système lui
notifie que le diplôme n’est pas authentique. Mais pour qu’une entreprise puisse utiliser

24
TRUSTY - Documentation Technique.
cette fonctionnalité, il faut qu’il s’enregistre au niveau du système et paie de l’argent par
mois ou par année pour utiliser le système.

c. Fonctionnalités du produit

- Création établissement.

- Création administrateur établissement.

- Création Template pour chaque établissement.

- Choix du nombre de signataires pour chaque établissement.

- Création signataire(s) pour un établissement donné.

- Création de nouveaux utilisateurs (Générateur, Délivreur) pour chaque établissement.

- Génération (impression numérique) de diplômes.

- Signature d’un ou de plusieurs diplômes.

- Livraison (impression physique du diplôme).

- Téléchargement du diplôme sous format PDF.


- Authentification du diplôme à partir du QRCODE

Le code QR est une sorte de code barre en 2D. Le "QR" signifie Quick Reponse car le
contenu que comporte ce carré noir et blanc peut être décodé rapidement. A la différence
d'un code-barres classique, le code QR peut contenir beaucoup d’informations : 7089
caractères numériques, 4296 caractères alphanumériques, contrairement au code-barres
normal qui ne peut stocker que de 10 à 13 caractères ou 2953 octets ! Le contenu du code
peut ensuite être décodé puis affiché à l'aide d'un Smartphone ou d'une tablette.

25
TRUSTY - Documentation Technique.
Il suffit pour cela de disposer d'un générateur de codes QR. Dans un premier temps, il
convient de définir et de sélectionner la fonction du code à générer. Le contenu à coder est
ensuite saisi puis éventuellement personnalisé par l'apport de couleurs et l'insertion d'un
logo. Pour terminer, il ne reste plus qu'à télécharger le code alors prêt à l'impression.
Dans notre application le QRCODE est fait avec ireport1. C’est au moment de la génération
du diplôme que le numéro du diplôme est ajouté dans le QRCODE.

6. Spécifications détaillées

Dans cette partie nous allons faire une description détaillée des fonctionnalités de la plateforme à
l’aide de cas d’utilisation. Chaque fonctionnalité peut être éclatée en plusieurs cas d’utilisation
(sous fonctionnalité).

a. Cas d’utilisation « paramétrage »

Acteur : super Administrateur

créer etablissement et son


administrateur

<< include >>


afficher liste etablissements et
administrateurs

<< include >>

créer signataire << include >>

authentification
<< include >>

Super_Admin
afficher liste signataires
<< include >>

creer template << include >>

afficher template

1 iReport est un logiciel de création de modèles de documents pour JasperReports, qui appartient à la catégorie des
moteurs de composition dans la chaîne éditique.
26
TRUSTY - Documentation Technique.
b. Cas d’utilisation « paramétrage »

Acteur : Administrateur Etablissement

choisir nombre de signataires

<< include >>

creer un nouveau signataire

<< include >>

afficher liste des signataires


<< include >> authentificaion
Admin_Etablissement

<< include >>


creer utilisateur

<< include >>

afficher liste des utilisateurs

c. Cas d’utilisation « paramétrage »

Acteur : générateur (imprimeur numérique du diplôme) »

recherche des diplômes à générer << include >>

Authentification
choisir un ou plusieurs diplômes à << include >>
générer

Generateur
<< include >>
générer diplôme

27
TRUSTY - Documentation Technique.
d. Cas d’utilisation « paramétrage »

Acteur : signataire de diplômes

afficher la liste des diplômes à signer << include >>

Authentification
choisir un plusieurs diplômes à signer << include >>

Signataire

<< include >>


signer le(s) diplôme(s)

e. Cas d’utilisation « paramétrage »

Acteur : délivreur (imprimeur physique de diplômes)

afficher liste des diplômes à délivrer << include >>

Authentification
délivrer le(s) diplôme(s) << include >>

Delivreur

<< include >>


téléchrager diplôme(s)

28
TRUSTY - Documentation Technique.
NB : Au lieu de faire la description détaillée de tous les cas d’utilisation nous l’avons
fait seulement pour le cas délivrer diplôme qui est la dernière phase du processus.

 Cas d’utilisation rédigé ; délivrer diplôme.


Domaine : Authentification de diplômes.
Titre : Délivrer diplôme.
Résumé : Liste des actions réalisées pour délivrer un diplôme.
Acteurs : Générateur (GEN), Signataire (SIGN), Délivreur (DEL)
Pré-condition(s) :
Le diplôme doit être généré.
Le diplôme doit être signé.
Déclencheur :
0. L’étudiant souhaite avoir son diplôme.
Scénario nominal :

Action (des) acteur(s) Action du système

1. GEN recherche diplômes disponibles. 2. affiche liste des diplômes à générer.

3. générer un ou plusieurs diplômes 4. génère diplômes et passe en phase de


signature.

5. SIGN demande liste des diplômes à signer. 6. affiche liste des diplômes à signer.

7. SIGN choisit un plusieurs diplômes à signer. 8. Signe les diplômes et passe à la phase de
livraison.

9. DEL demande liste des diplômes à imprimer. 10. affiche la liste des diplômes prêts pour
l’impression physique.

11. DEL effectue l’impression physique des 12. Affiche liste des diplômes délivrés.
diplômes.

29
TRUSTY - Documentation Technique.
II. Environnement technique

1. Architecture Logicielle

Architecture 3-tiers :

 Client plutôt léger : Navigateur Chrome, FireFox, IE, ...


 Serveur : Serveur d’application Web
 Serveur web ⇒ requêtes Web
 Serveur applicatif ⇒ Métier
 Serveur : Serveur BD (MySQL)
Application Web = client + serveur web + serveur d’application (traitement d’une logique
applicative).
 Client
 Serveur : Serveur d’application Web
 Serveur web (Apache)
 Serveur applicatif
Souvent intégré (TOMCAT) 2 approches :
 Compilé : Servlet (J2EE)
 Interprété : JSP (Java Server Pages),
 Serveur : Serveur BD (MySQL)

30
TRUSTY - Documentation Technique.
2. Technologies utilisées
 Java / J2EE (Java 2 Enterprise Edition, Sun)
 Servlet
 JSP (Java Server Pages de Sun)
 Jasper Report
 Ajax
 JavaScript
 JQUERY
 CSS

3. Modèles de données

diplôme
- idDiplome : int
utilisateur etablissement
- numDiplome : String
- numDiplomeCrypt : char - idUtilisateur : int
- idEtablissement : int
- libelleUniversite : String - nomUtilisateur : String - libelleEtablissement : String
- descriptionUniversite : String - prenomUtilisateur : String - descriptionEtablissement : String
- villeUniversite : String - emailUtilisateur : int
- villeEtablissement : String
- nomRecteur : String - motDePasseUtilisateur : char - nomRecteur : String
- prenomRecteur : String - profil : String 1..* - prenomRecteur : String
- module : String 1..1
- titreRecteur : String 1..* - sexeRecteur : char
- fonctionRecteur : String 1..* - actif : int - titreRecteur : String
- libelleFaculte : String - entreprise : String
- focntionRecteur : String
- nomEtudiant : String - motDePasseImprimeur : char - nombreNiveauSignataire : int
- prenomEtudiant : String - telephoneUtilisateur : String - codeEtablissement : String
- dateNaissanceEtudiant : String - niveauUtilisateur : int - cheminLogo : String
- lieuNaissanceEtudiant : String - faculteUtilisateur : String
- sexeEtudiant : String - specialiteUtilisateur : String
- civiliteEtudiant : String - gradeUtilisateur : String 1..1
- libelleGrade : String - typeUtilisateur : enum
- libelleTypeDiplome : String
- libelleSpecialite : String 1..1
- dateObtention : Date
- dateDelivrance : Date
template
- anneAcademique : String
- impression : int - idTemplate : int
- niveauSignataire : int - nomTemplate : String
- urlSignataire : String - etablissementTemplate : String
- cheminChargement : String - specialiteTemplate : String
- etatDiplome : String - gradeTemplate : String
- cheminTemplate : String
- faculteTemplate : String

31
TRUSTY - Documentation Technique.
III. API Utilisés
L'API est organisée sur l'architecture REST.

REST, le style d’architecture original du web appliqué aux échanges inter-applications. Reposant
sur HTTP, il promet économie, simplicité et profit des structures réseau en place.
REST est un type d'architecture reposant sur le fonctionnement même du web, qu'il applique aux
services web. Pour concevoir un service REST, il faut bien connaître tout simplement le protocole
HTTP, le principe des URI et respecter quelques règles. Il faut raisonner en termes de ressources.
Dans l'architecture REST, toute information est une ressource et chacune d'elles est désignée par
une URI - généralement un lien sur le Web. Les ressources sont manipulées par un ensemble
d'opérations simples et bien définies. L'architecture client-serveur de REST est conçue pour utiliser
un protocole de communication sans état le plus souvent HTTP. Ces principes encouragent la
simplicité, la légèreté et l'efficacité des applications.
En effet nos services web ont été implémentés avec le framework Jersey. Le développement de
services Web RESTful qui supporte parfaitement l'exposition de vos données dans une variété de
types de médias de représentation et abstraction des détails de bas niveau de la communication
client-serveur n'est pas une tâche facile sans une bonne boîte à outils. Afin de simplifier le
développement des services Web RESTful et de leurs clients en Java, une API JAX-RS standard et
portable a été conçue. Le cadre de services Web RESTful de Jersey est open source, qualité de
production, cadre pour le développement de services Web RESTful en Java qui fournit une
assistance aux API JAX-RS et sert de mise en œuvre de référence JAX-RS.
Le cadre Jersey est supérieur à la mise en œuvre de référence JAX-RS. Jersey fournit sa
propre API qui étend la trousse à outils JAX-RS avec des fonctionnalités et des utilitaires
supplémentaires afin de simplifier davantage le service RESTful et le développement de
clients. Jersey expose également de nombreuses API d'extension afin que les développeurs puissent
étendre Jersey pour mieux répondre à leurs besoins.
L’objectif des projets de Jersey peuvent être résumés ainsi :
 Suivre l'API JAX-RS et fournir des versions régulières des implémentations de référence de
qualité de production livrées ;
 Fournir des API pour étendre Jersey et construire une communauté d'utilisateurs et de
développeurs ;
 Facilitez la création de services Web RESTful utilisant Java et la machine virtuelle Java.

32
TRUSTY - Documentation Technique.
PARTIE III
Interfaçage
XPADOC / KAIROS

33
TRUSTY - Documentation Technique.
IV. Interactions XPADOC / KAIROS (TRUSTY)

La plateforme XPADOC va s’interfacer avec KAIROS. L’association de ces deux plateformes


donne TRUSTY.

Web Services de XPADOC

 WS 1 : soumissionDiplome() [1]
 request => Informations attendues : Les informations du diplôme
 response => code dossier, code réponse.
Traitement manuel : vérification du dossier, si c’est bon => génération du format électronique et
signature numérique.
 WS 2 : demandeDiplomeElectronique() [3]
 request => code du dossier
 response => diplôme généré (fichier pdf signé)

 WS 3 : demandeImpressionDiplome() [4]
 request => code du dossier.
 response => code réponse (Accepté ou pas).
Traitement manuel : impression physique, remise du diplôme non signé à l'établissement.

Verbes
URI disponibles Effet
Création
Interfacage/soumissionDiplome POST d’un
diplôme.
Demande
Interfacage/demandeDiplomeElectronique/{code_dossier} GET diplôme
électronique
Demande
Interfacage/demandeImpressionDiplome/{code_dossier} GET Impression

34
TRUSTY - Documentation Technique.
d’un
diplôme.

Web Services de KAIROS

 WS 1 : notificationGenerationDiplome() [2]
 request => code dossier, statut (OK, NOK), date traitement
 response => acquittement

 WS 2 : notificationImpressionDiplome() [5]
 request => code dossier, statut (OK, NOK), date traitement
 response => acquittement.

Interfaçage Web Services XPADOC / KAIROS

DiagrammeSequence_Soumission_Diplôme

KAIROS XPADOC

Informations du dossier

Code du dossier

Status Ok ou NOK

35
TRUSTY - Documentation Technique.
DiagrammeSequence_Notification_Génération_Diplôme

XPADOC KAIROS

code du dossier

Status

Date Traitement

Acquitement

DiagrammeSequence_Demande_diplôme_electronique

KAIROS XPADOC

code du dossier

Diplôme généré (fichier pdf signé)

36
TRUSTY - Documentation Technique.
DiagrammeSequence_Demande_impression_diplôme

KAIROS XPADOC

code du dossier

Code réponse (acceptée ou non)

DiagrammeSequence_notification_imression_diplôme

XPADOC KAIROS

code du dossier

Status (Ok ou NoK)

Date Traitement

Acquitement

37
TRUSTY - Documentation Technique.

Vous aimerez peut-être aussi