• Aucun résultat trouvé

Chapitre 4. Conduite d’une expérimentation et discussion des résultats

4.1 Présentation de la plateforme Preventeo®

4.1.3 Architecture technique

Cette sous-section décrit l’architecture réseau en place pour l’utilisation de la plateforme logicielle, puis les différentes technologies et langages de programmation utilisés. Avant toute chose, il est nécessaire de rappeler que le projet Preventeo® remonte à 2005, ainsi, de nombreuses améliorations techniques ont été apportées durant les années qui ont suivis. La plateforme suit logiquement les évolutions techniques au fur et à mesure des travaux effectués sur les différents progiciels.

4.1.3.1 Architecture réseau

La plateforme logicielle est accessible en mode SaaS (Software as a Service) avec une

connexion au travers d’un poste client utilisant un navigateur Internet22. L’architecture réseau déployée est une architecture en trois tiers : navigateur Internet, serveur applicatif et serveur de base de données.

Cette architecture technique offre de nombreux avantages. D’un point de vue collaboratif tout d’abord, elle permet une utilisation simultanée par des centaines d’utilisateurs et ceci, pour

tout utilisateur disposant d’un accès Internet. Elle évite la contrainte d’installation pour

l’utilisateur, l’accès à la plateforme se faisant via un navigateur Internet, aucune installation

22

logicielle n’est requise et les utilisateurs profitent des corrections et améliorations de manière transparente. Ce mode SaaS permet de d’affranchir des opérations de maintenance matérielle

et logicielle, ces opérations étant directement effectués sur les serveurs au sein de

l’infrastructure Preventeo®. De ce fait, tous les investissements matériels et logiciels ainsi

que les coûts de maintenance sont mutualisés. Bien évidemment, dans un souci de confidentialité et de sécurité, toutes les communications de données sont encryptées afin de protéger les utilisateurs. Un certificat de connexion complète le dispositif.

4.1.3.2 Technologies et langages de programmation

L’architecture de déploiement de la plateforme logicielle est composée de trois tiers (Figure

21 - Architecture réseau simplifiée). Chacun de ces tiers utilise des technologies et langages de programmation différents. Ainsi, sur le poste client et son navigateur web, le langage JQuery et la technologie Ajax23 sont majoritairement utilisés. Sur le serveur Web Apache24, PHP et particulièrement le Framework Zend25 sont utilisés. Enfin, sur le serveur de base de données, MySQL26 est mobilisé.

23 Ajax : Asynchronous Javascript And XML (eXtensible Markup Language). Cette technologie permet le

transfert de données entre le serveur et le poste client de manière transparente.

24 Apache est un logiciel libre permettant la mise en œuvre de serveur http 25 Pour en savoir plus : http://www.zend.com (Pauli, 2008),

26 MySQL est un système de gestion de base de données (SGBD) open-source parmi les plus utilisés dans les

Figure 21 - Architecture réseau simplifiée

4.1.3.2.1 Poste client - Browser

Sur le poste client, le navigateur Internet envoie des requêtes auprès du serveur Web

applicatif. Ces requêtes sont adressées lors de la demande d’affichage d’une page par exemple

ou bien encore de manière plus fluide et transparente au travers de requêtes effectuées au travers de la technologie Ajax. Cette technologie permet de générer des requêtes au serveur de

façon transparente pour l’utilisateur.

Sur le poste client, le langage Javascript est utilisé, spécifiquement au travers de la librairie JQuery27 qui propose de nombreuses fonctions permettant de simplifier l’usage de Javascript sans atténuer les performances du langage. Le principal attrait de JQuery est de proposer des

effets d’animation et d’affichage sur le poste client. Ainsi, un simple clic ou le fait de placer la

souris sur un élément peut faire apparaitre des informations cachées jusqu’alors. Cette

utilisation est très employée pour ajouter un grand nombre d’informations qui ne sont visibles qu’à la demande du client sans nécessité de recharger la page. Par exemple, au sein du module

« plan d’actions », tous les commentaires définis dans les actions apparaissent en plaçant la

souris sur l’intitulé de l’action. JQuery est aussi utilisé afin de garantir une certaine sécurité en

vérifiant par exemple la cohérence des informations renseignées dans les formulaires (une

date est au bon format, un champ numérique ne contient pas d’informations autre que des

chiffres, etc.).

4.1.3.2.2 Serveur Web Apache

Les requêtes envoyées au serveur par le navigateur internet sont gérées par le serveur Web Apache. Celui-ci permet de créer des pages Web au format HTML28. Le langage PHP complète le dispositif, celui-ci génère des pages Web de manière dynamique. En extension de ce langage PHP, le framework Zend est utilisé. Il est possible de considérer ce framework comme un cadre de travail offrant des fonctions permettant la programmation en suivant le modèle de conception MVC (Modèle Vue Contrôleur). Ces fonctions sont destinées à

améliorer le temps de développement et de maintenance d’applications Web au travers de l’intégration de mécanismes de sécurité et d’une programmation orientée objet par exemple. Le modèle de conception MVC permet de cloisonner les différentes parties d’une application

Web. Ainsi, les modèles sont en charge de la manipulation des données (Processus de

traitement et d’interactions avec la base de données). Ces données sont récupérées via les contrôleurs qui sont en charge de séquencer et d’organiser les informations transmises aux vues. La partie Vue est en charge de définir le rendu de l’application. Les interactions sont

définies dans la Figure 22.

28 HTML : HyperText Markup Language

Figure 22 - Intégration du modèle de conception MVC au sein d'une architecture 3 tiers

4.1.3.2.3 Serveur de Base De Données

Les modèles sont en interaction avec le serveur de base de données, au sein la plateforme Preventeo®, le SGBD utilisé est MySQL. Toutes les opérations de manipulation de données au sein de la base de données est rendu possible grâce au langage SQL29 permettant des transactions entre le serveur applicatif et le SGBD. Les transactions possibles pour la manipulation de données sont des insertions, des mises à jour, des suppressions et des projections de données au sein du SGBD.

Ainsi, grâce à ces différentes technologies, la plateforme Preventeo® affiche, met à jour et supprime des données mutualisées pour chaque client. La plateforme propose une approche collaborative des informations recensées ou chaque utilisateur est acteur de la

responsabilisation de l’entreprise à la maîtrise des risques et de la conformité réglementaire.

29 SQL : Structured Query Language

Dans la section suivante est présenté le module de gestion des risques par le prescrit, celui-ci

étant indispensable à l’opérationnalisation du modèle de gestion des connaissances proposés.