Vous êtes sur la page 1sur 92

1

Dédicaces
Je dédie ce modeste travail à :

A MON TRÈS CHER PÈRE : Mehdi BEN HASSEN


Autant de phrases et d’expressions aussi éloquentes soit-elle ne sauraient exprimer ma
gratitude et ma reconnaissance. Tu as su m’inculquer le sens de la responsabilité, de
l’optimisme et de la confiance en soi face aux difficultés de la vie. Tes conseils ont
toujours guidé mes pas vers la réussite. Ta patience sans fin, ta compréhension et ton
encouragement sont pour moi le soutien indispensable que tu as toujours su m’apporter.
Je te dois ce que je suis aujourd’hui et ce que je serai demain et je ferai toujours de mon
mieux pour rester ta fierté et ne jamais te décevoir. Que Dieu te préserve, t’accorde santé,
bonheur, quiétude de l’esprit et te protège de tout mal.

A MA TRÈS CHÈRE MÈRE : Rachida NASR


Ma maîtresse, autant de phrases aussi expressives soient-elles ne sauraient montrer le
degré d’amour et d’affection que j’éprouve pour toi. Tu m’as comblé avec ta tendresse et
affection tout au long de mon parcours. Tu n’as cessé de me soutenir et de m’encourager
durant toutes les années de mes études, tu as toujours été présente à mes côtés pour me
consoler quand il fallait. En ce jour mémorable, pour moi ainsi que pour toi, reçoit ce
travail en signe de ma vive reconnaissance et ma profonde estime.

Tous ceux qui ont contribué de prêt ou de loin à cette finalité. Je tiens à vous dédier cet
humble travail, fruit d’un long travail laborieux et des efforts fournis jour et nuit.

2
Remerciements
En guise de notre reconnaissance et sincère gratitude, et parce que nous avons hautement
estimé tous ceux qui nous ont écoutés et conseillé, nous tenons à témoigner nos sincères
remerciements à toutes les personnes qui ont contribué de près ou de loin au bon
déroulement de notre stage de fin d’étude et à l’élaboration de ce modeste travail.

Nous tenons à remercier dans un premier temps Dr. Ramzi MAHMOUDI chef de
département informatique de notre école, nous sommes très honorés de vous avoir comme
notre encadreur pédagogique. Nous vous remercions pour la gentillesse et la spontanéité
avec lesquelles vous avez bien voulu diriger ce travail. Votre compétence professionnelle
incontestable ainsi que vos qualités humaines vous valent l’admiration et le respect de tous.

Nous tenons également à exprimer notre profonde gratitude à notre tuteur de stage Mr.
Robin SÈVE chef de projet à Sourceamax, qui nous a orienté durant ce projet de fin
d'études, pour ses conseils directifs et pour l'aide et les conseils concernant les missions
évoquées dans ce projet, qu'il nous a amenés lors des différents suivis qu’ont constituée un
apport considérable sans lequel ce travail n’aurait pas pu être mené au bon port. Nous avons
eu le grand plaisir de travailler sous votre direction.

Nous présentons aussi notre profonde reconnaissance à notre interlocuteur de stage Mr.
Thomas MISTERO, Nous avons trouvé auprès de vous le conseiller, le guide, la source
inépuisable d’idées, ainsi de savoir et d’encouragement qui nous a reçus en toute
circonstance avec sympathie, sourire et bienveillance.

Nous adressons nos vifs remerciements à Mr. Bruno RAFFET, président de l'entreprise
Sourceamax, qui nous a bien organisé le départ de ce stage. Nous lui exprimons toute notre
gratitude pour son accueil chaleureux, sa persévérance et ses inestimables conseils ainsi
que pour son soutien et ses encouragements.

3
Résumé
Ce travail s’inscrit dans le cadre de réalisation du projet de fin d’études en vue de
l’obtention du diplôme national d’ingénieur en science informatique, décerné par l’Ecole
Polytechnique de Sousse. Il a été élaboré au sein de la société Sourceamax.

L’objectif de ce projet consiste principalement à développer une refonte graphique d'un


outil d'enquête mis à disposition des clients de la société en mode SaaS. Ainsi que le
développement et la mise à jour de nouveaux modules d'analyse et la restitution des
données en temps réels.

Mots clés : Coldfusion, Vue JS, Vuex, Vuetify, Zingchart, Pandas, Bokeh, MSSQL, BI,
SaaS, UML.

Abstract
This work introduces the realization of our end-of-studies project to obtaining a software
engineering degree, awarded by the Polytechnic School of Sousse. It was developed within
the Sourceamax company.

The objective of this project is mainly to develop a graphical redesign of a survey tool
made available to the company's customers in SaaS mode. As well as the development and
updating of new analysis modules and the restitution of data in real time.

Keywords: Coldfusion, Vue JS, Vuex, Vuetify, Zingchart, Pandas, Bokeh, MSSQL, BI,
SaaS, UML.

4
Table des matières
Table des matières
Introduction générale ..................................................................................................... 11
Chapitre I – Contexte général ........................................................................................ 13
Introduction ..................................................................................................................... 13
1. Contexte du projet ................................................................................................... 13
2. Problématique .......................................................................................................... 14
3. Etude de l’existant ................................................................................................... 15
3.1. Typeform ............................................................................................................... 15
3.2. SurveyMonkey ...................................................................................................... 16
3.3. GetFeedback ......................................................................................................... 18
4. Critique des solutions de marché........................................................................... 20
5. Solution proposée .................................................................................................... 21
6. Etude des méthodologies de développement ......................................................... 23
6.1. Rational Unified Process (RUP) ........................................................................ 23
6.2. SCRUM ................................................................................................................. 24
6.3. Two Track Unified Process (2TUP) .................................................................. 24
7. Choix de la méthode adéquate ............................................................................... 25
8. Mise en pratique du processus 2TUP .................................................................... 25
8.1. Branche fonctionnelle : ...................................................................................... 26
8.2. Branche Technique ............................................................................................. 27
8.3. Phase Conception – Réalisation ........................................................................ 27
9. Planning prévision .................................................................................................. 28
Conclusion ....................................................................................................................... 29
Chapitre II : Analyse et Spécification des besoins ....................................................... 30
Introduction ..................................................................................................................... 30
1. Présentation du projet à réaliser ........................................................................... 30
2. Étude préliminaire .................................................................................................. 30
2.1. Branche Fonctionnelle ....................................................................................... 31
2.1.1. Identification des besoins fonctionnels ......................................................... 31

5
2.1.2. Identification des besoins non fonctionnels ................................................. 32
2.2. Identification des acteurs .................................................................................... 33
2.3. Identification des cas d’utilisation .................................................................... 34
2.4. Raffinement des cas d’utilisations ..................................................................... 35
2.4.1. Raffinement de cas d’utilisation « gérer les utilisateurs » .......................... 35
2.4.2. Raffinement de cas d’utilisation « gérer les campagnes » .......................... 36
2.4.3. Raffinement de cas d’utilisation « répondre aux enquêtes » ...................... 38
3. Étude des modèles architecturaux ......................................................................... 39
3.1. L’architecture 3-tiers .......................................................................................... 39
3.2. L’architecture MVC ............................................................................................ 40
3.3. Nuance entre MVC et 3-Tiers : .......................................................................... 40
Conclusion ....................................................................................................................... 41
Chapitre III : Etude conceptuelle .................................................................................. 42
Introduction ..................................................................................................................... 42
1. Conception générique ............................................................................................. 42
1.1. Le langage UML .................................................................................................. 42
1.2. Concepts de modélisation spécifiés par l'UML ................................................ 42
1.3. Etude des diagrammes UML utilisés ................................................................. 43
2. Conception préliminaire ......................................................................................... 44
2.1. Maquette gestion des sociétés ............................................................................. 44
2.2. Maquette gestion des utilisateurs ....................................................................... 45
2.3. Maquette gestion des enquêtes ........................................................................... 46
3. Conception logicielle ............................................................................................... 47
3.1. Architecture générale de la plateforme ............................................................. 47
3.2. Spécifications des interactions ........................................................................... 47
4. Conception détaillé .................................................................................................. 48
4.1. Diagramme détaillé du contrôleur ..................................................................... 48
4.2. Diagramme détaillé des vues .............................................................................. 49
4.3. Diagramme de séquence détaillé (vue dynamique) .......................................... 50
4.4. Diagramme de classes (vue statique) ................................................................. 52
Conclusion ....................................................................................................................... 52

6
Chapitre IV : Réalisation ............................................................................................... 53
Introduction ..................................................................................................................... 53
1. Environnement de travail : ................................................................................... 53
1.1. ColdFusion ........................................................................................................... 53
1.2. Microsoft SQL Server .......................................................................................... 55
1.3. SQL Server Management Studio (SSMS) ......................................................... 56
1.4. Vue JS ................................................................................................................... 57
1.5. Vuetify JS ............................................................................................................. 58
1.6. Pandas ................................................................................................................... 58
1.7. Bokeh .................................................................................................................... 59
2. Présentation de la solution Web ............................................................................ 59
2.1. Écran d’accueil .................................................................................................... 59
2.2. Écran gestion des utilisateurs ............................................................................ 60
2.3. Écran gestion des sociétés .................................................................................. 62
2.4. Écran gestion des questions ............................................................................... 64
2.5. Écran gestion des indicateurs ............................................................................ 65
2.6. Écran gestion des enquêtes ................................................................................. 65
2.7. Écran gestion des campagnes............................................................................. 67
2.8. Écran suivi des campagnes ................................................................................. 67
2.9. Internationalisation (i18n) ................................................................................. 68
2.10. Page 404 ............................................................................................................ 69
Conclusion ....................................................................................................................... 70
Conclusion générale ........................................................................................................ 71
Webographie ................................................................................................................... 73
Annexe 1 ........................................................................................................................... 74

7
Liste des figures
Figure 1 - Page d’accueil du « Typeform.com » ............................................................. 16
Figure 2 - Page d’accueil du « SurveyMonkey.com » ..................................................... 18
Figure 3 - Page d’accueil du « GetFeedback.com » ........................................................ 19
Figure 4 - Illustration graphique de la solution MySurvey ............................................... 23
Figure 5 - Le cycle de vie en Y(2TUP)............................................................................. 27
Figure 6 - Diagramme de Gantt ........................................................................................ 28
Figure 7 - Diagramme du cas d’utilisation général ........................................................... 34
Figure 8 - Diagramme du cas d’utilisation gérer les utilisateurs ...................................... 35
Figure 9 - Diagramme du cas d’utilisation gérer les campagnes ...................................... 37
Figure 10 - Diagramme du cas d’utilisation « répondre aux enquêtes » .......................... 38
Figure 11 - Niveau web dans l’architecture 3-tiers ........................................................... 40
Figure 12 - Axes de modélisation d’un système ............................................................... 43
Figure 13 - Maquette gestion des sociétés ........................................................................ 44
Figure 14 - Maquette gestion des utilisateurs ................................................................... 45
Figure 15 - Maquette gestion des enquêtes ....................................................................... 46
Figure 16 - Cycle de vie MVC .......................................................................................... 47
Figure 17 - Composants Vue associés à la société ........................................................... 50
Figure 18 - Diagramme de classes .................................................................................... 52
Figure 19 - Diagramme de séquence détaille .................................................................... 51
Figure 20 - Logo Adobe Coldfusion ................................................................................. 54
Figure 21 - Écran d'accueil du serveur ColdFusion .......................................................... 55
Figure 22 - Logo Microsoft SQL Server........................................................................... 56
Figure 23 - Logo Microsoft SQL Server Management Studio ......................................... 56
Figure 24 - Logo Vue JS ................................................................................................... 57
Figure 25 - Logo Vuetify JS ............................................................................................. 58
Figure 26 - Logo pandas ................................................................................................... 58
Figure 27 - Logo bokeh..................................................................................................... 59
Figure 28 - Écran d’accueil MySurvey ............................................................................. 60
Figure 29 - Écran gestion des utilisateurs (censuré) ......................................................... 60
Figure 30 - Écran ajout d’utilisateur ................................................................................. 61
Figure 31 - Écran modification d’utilisateur ..................................................................... 62
Figure 32 - Écran gestion des sociétés (censuré) .............................................................. 63
Figure 33 - Écran ajout société ......................................................................................... 63
Figure 34 - Écran gestion des questions ........................................................................... 64
Figure 35 - Écran ajout de question .................................................................................. 64
Figure 36 - Écran gestion des indicateurs ......................................................................... 65
Figure 37 - Écran gestion des enquêtes (censuré) ............................................................. 66

8
Figure 38 - Écran modification d’enquête ........................................................................ 66
Figure 39 - Écran gestion des campagnes (censuré) ......................................................... 67
Figure 40 - Écran suivi des campagnes (censuré) ............................................................. 67
Figure 41 - Page d’accueil en anglais ............................................................................... 68
Figure 42 - Thème sombre ................................................................................................ 69
Figure 43 - Page 404 ......................................................................................................... 69

9
Liste des tableaux
Tableau 1 - Tableau comparatif des solutions existantes .............................................................. 20
Tableau 2 - Tableau descriptif du cas d’utilisation détaillé « gérer les utilisateurs» ..................... 39
Tableau 3 - Tableau descriptif du cas d’utilisation détaillé « modifier statut campagnes » .......... 39
Tableau 4 - Tableau descriptif du cas d’utilisation détaillé « Répondre aux campagnes » ........... 39
Tableau 5 - Exemples contrôleurs et leurs méthodes .................................................................... 49

10
Introduction générale

De nos jours l'utilisation des outils informatiques n'est plus considérée comme une option ou un
confort réservé à une section particulière de la société, car suite à l'évolution technologique,
économique et pour un aspect organisationnel, l'utilisation de tels outils est devenue inévitable
et s'avère d'une importance capitale dans tous les domaines. On s'attendrait donc à ce que ces
nouvelles technologies aient un impact sur la relation entre les sociétés et ses clients.

En effet, ce secteur montre un grand besoin d'informatisation et de collecte de données pour


assurer l'amélioration de la qualité de ces services/produits en facilitant la mémorisation, la
communication et les retours d’expérience clients.

Dans ce cadre, la société « Sourceamax » qui nous a suivi et accueilli tout au long de la durée de
notre stage, a proposé de mettre en place une solution informatique efficace et aussi complète
que possible intitulé ‘MySurvey’, assurant la collecte du retour d'expérience de ses clients, à
travers un ensemble de campagnes et de questionnaires personnalisés qui répond aux besoins.

Pour une meilleure accessibilité à ces informations, et une meilleure expérience utilisateur, nous
avons décidé de développer la deuxième version de MySurvey qui est non seulement capable de
gérer et d'exposer toutes ces informations mais qui offre également la possibilité d'analyse et de
restituer des données par l'entreprise et les clients eux-mêmes dans une plateforme plus moderne
et qui répond aux différentes exigences qu’on va discuter en détails dans les chapitres suivants.

Ce rapport présente l’ensemble des étapes suivies pour développer cette application, il contient
quatre chapitres organisés comme suit :

Au niveau du premier chapitre « Contexte général », nous introduirons l’organisme d’accueil et


l’idée émergente du projet. Puis nous avons mis l’accent sur la problématique ainsi que l’étude
de l’existant des plat-formes qui offrent quelques services dans le même domaine que le nôtre.
11
Finalement, nous présenterons une brève description de notre objectif ainsi que la méthodologie
du travail à adopter.

Le deuxième chapitre « Capture des besoins » est consacré à la spécification des besoins
fonctionnels, non fonctionnels, et des besoins techniques, ainsi que les différentes fonctionnalités
en se basant sur le modèle MVC.

Le troisième chapitre « Conception » présente les interfaces graphiques de notre application et


les diagrammes de modélisations UML.

Le quatrième chapitre « Réalisation » est consacré à l’environnement de travail et les principaux


aperçus graphiques de l’application avec les tests réalisés. Nous clôturons ce rapport par une
conclusion générale sur le travail réalisé en donnant quelques perspectives.

12
Chapitre I – Contexte général

Introduction
Ce chapitre est une introduction à notre projet de fin d’étude. Ce projet nécessite une étude
détaillée sur certaines notions qui touchent non seulement le cadre général du projet, mais
aussi sa réalisation. D’où, nous tiendrons à exposer, en premier lieu, le cadre général du projet,
la présentation de l’organisme d’accueil « Sourceamax », le contexte du travail demandé et la
problématique qui nous a poussée à développer cette application. En second lieu, on essaiera
de présenter l’étude des solutions disponibles sur le marché, la critique de leurs limites puis
la solution qui constitue l’objet de notre projet.
Ensuite, nous allons présenter une étude comparative entre les différentes méthodologies de
développement afin de choisir la plus adéquate. En finissant par une présentation du planning
prévisionnelle de ce projet.

1. Contexte du projet

L'enquête en ligne ou « Online Survey » est l'une des sources de collecte de données les plus
populaires, où un ensemble de questions d'enquête est envoyé à un échantillon cible et les
membres de ce dernier peuvent répondre aux questions sur Net. Les répondants reçoivent des
sondages en ligne via divers supports tels que le courrier électronique, intégré sur le site Web,
les médias sociaux, etc.

Dans ce contexte, l’entreprise d’accueil « SourceAmax » souhaite lancer un projet innovant


orienté vers la gestion des sondages en ligne. En effet, « SourceAmax » est une SSII, installée à
PARIS 1 (75001), spécialisée dans le secteur d'activité du conseil en systèmes et logiciels
informatiques. Intervenant depuis plusieurs années pour le compte de ses clients et de ses
partenaires sur des projets de développement d’Intranet et d’Extranet. Son équipe participent à
de nombreuses missions de développement sur des standards technologiques (Java, Php, .Net,
…) et dans des domaines fonctionnels diversifiés (Industrie, services, finances, achats, …).

13
SourceAmax possède également une forte expertise sur les architectures Web n-tiers et dispose
de capacités de hosting dans des data centers sécurisés.

Aujourd’hui, consolidant ses acquis sur différents domaines, SourceAmax décide d’investir dans
le domaine de l’édition logicielle. Constatant au quotidien les problématiques de ses clients,
mettant son expertise métier à disposition de ces derniers autours d’une technologie regroupant
le meilleur de l’Open Source.

• Site web http://www.sourceamax.com


• Secteurs Internet
• Taille de l’entreprise 11-50 employés
• Siège social Boulogne Billancourt
• Type Société civile / Société commerciale
• Fondée en 2007
• Domaines Développement web, Coldfusion, Xamarin et ExtJS

2. Problématique

Quel est le principal atout d’une entreprise ? Ses clients ! Si les clients sont satisfaits, ils
ont plus de chances de rester fidèles à la marque. Ils recommanderont plus naturellement
cette marque à leurs proches, attirant ainsi de nouveaux clients.

Pour créer ce cercle vertueux, les entreprises mettent en place des stratégies de
satisfaction client, mais comment s’assurer que les clients sont satisfaits ? Et comment
savoir si les actions d’amélioration de la satisfaction sont efficaces ?

En effet, il faut mesurer régulièrement cette satisfaction via la méthode la plus utilisée à
savoir : les enquêtes. En outre, c’est celle qui offre le meilleur équilibre entre fiabilité et
contraintes, afin d'identifier les lacunes, les changements nécessaires dans les stratégies
ou la quantité d'un certain produit.

Il est important de souligner que les personnes en charge des enquêtes au sein des
entreprises savent que lorsqu'ils obtiennent des résultats à la suite d’un questionnaire de

14
satisfaction, ils peuvent ensuite les utiliser pour développer de futurs projets. Mais ces
informations peuvent être recueillies de nombreuses manières et sources différentes ce
qui empêche une bonne évaluation ou interprétation des résultats obtenus. C'est pourquoi,
certains chefs d'entreprise choisissent des méthodes personnalisées pour collecter des
retours auprès des consommateurs et souhaitent mettre en place des outils dédiés à la
collecte et l’analyse de ces résultats.

3. Etude de l’existant

L’étude de l’existant est une phase primordiale pour la réalisation d’un projet. En effet elle
consiste à observer et à analyser les solutions existantes puis à déterminer leurs points faibles
et leurs points forts afin de les prendre en considération lors de la réalisation de l’application
en question. Elle comporte trois parties : description de l’existant, critique de l’existant et
proposition d’une solution.

3.1. Typeform

Typeform est un logiciel d’enquête en ligne disposant d’une interface très conviviale et
permettant aux utilisateurs de créer eux-mêmes leurs enquêtes. Pour la personne interrogée,
le processus de réponse à l’enquête est très simple. La version gratuite de Typeform,
également connue sous le nom de « CORE plan », inclut des fonctionnalités gratuites telles
qu’un nombre illimité de questions et de réponses, des options d’exportation des données, des
thèmes personnalisés, ainsi que des modèles prêts à l’emploi et des fonctions de reporting de
base.

Site Web : www.typeform.com

• Fonctionnalités

- Création d’enquêtes.
- Personnalisation des formulaires à créer.
- Exportation des données.

15
• Avantages

- Possibilité d’intégration directe sur votre site (iFrame).


- Facilité d’utilisation.

• Inconvénients

- Ce n'est certainement pas la solution la plus robuste en termes de


fonctionnalités.
- Autant de plaintes concernant un nombre important de résultats
perdus.
- TypeForm ne stocke pas les résultats jusqu'à la dernière page où
l’utilisateur clique sur « Soumettre ».
- Le prix est assez cher pour un outil de formulaire.

Figure 1 -Page d’accueil du « Typeform.com »

3.2. SurveyMonkey

« SurveyMonkey » est l’un des outils de questionnaire et logiciels d’enquête en ligne les plus
connus. Il est utilisé par des millions d’entreprises dans le monde. Il propose aux utilisateurs
15 types de questions différents (dont les questions à choix multiples, à réponse libre et à
échelle de Likert). Cet outil est parfait pour les enquêtes ponctuelles. En revanche, il se prête

16
moins bien aux enquêtes destinées à mesurer la satisfaction globale ou à celles destinées à
sonder à nouveau des clients après une certaine période.

Site Web : www.surveymonkey.com

• Fonctionnalités

- Aide à organiser les résultats et les informations.


- Conserve les enquêtes passées pour une future référence.

• Avantages

- Il est assez abordable par rapport aux fonctionnalités qu'il propose.


- Création d'enquêtes claires et simples.
- Les sondages sont faciles à reproduire, ce qui permet aux entreprises
de gagner du temps pour créer les nouvelles enquêtes nécessaires.

• Inconvénients

- Les formats de fichiers qui peuvent être ajoutés aux enquêtes sont
peu nombreux.
- Service client offrant des réponses confuses et contradictoires.
- Le fait que leur logo apparaisse sur l'enquête est un peu
déconcertant.
- Pour obtenir des analyses robustes (niveau expert), il faudra prévoir
un budget complémentaire.

17
Figure 2 - Page d’accueil du « SurveyMonkey.com »

3.3. GetFeedback

Avec GetFeedback, les utilisateurs peuvent facilement créer des enquêtes véhiculant leur
image de marque en utilisant pour cela une interface de type glisser-déposer ainsi que
différentes fonctionnalités de personnalisation. Il s’agit également d’un outil flexible dans la
mesure où il s’adapte à pratiquement toutes les plateformes utilisées pour diffuser les
enquêtes. Vous avez aussi la possibilité de l’intégrer à SalesForce et de pouvoir ainsi visualiser
les résultats de vos enquêtes dans votre tableau de bord SalesForce.

Site Web : www.GetFeedback.com

• Fonctionnalités

- Soumissions de formulaires personnalisés.


- Intégration des réponses aux sondages dans un e-mail pour faciliter
la capture des données des clients.
- Les ressources humaines l'utilisent pour la stratification des
employés.

18
• Avantages

- L'intégration Salesforce est intuitive et facile à mettre en œuvre sans


aucune compétence de codage requise.
- Les visualisations et les graphiques sont conviviaux et se chargent
facilement sur tous les appareils.

• Inconvénients

- GetFeedback n'a aucun moyen de notifier l'administrateur de l'échec


de la synchronisation de l'enregistrement lorsqu'il est mis à jour via
SalesForce.
- Le processus de création d'une URL (distribution d'une enquête
Salesforce) à intégrer dans un modèle d'e-mail est un peu compliqué
et demande un peu de pratique, en particulier pour un administrateur
novice.

Figure 3 - Page d’accueil du « GetFeedback.com »

19
4. Critique des solutions de marché

Le tableau qui va suivre montre la comparaison des trois applications mentionnées précédemment :
Typeform.com, SurveyMonkey.com et GetFeedback.com. Nous pouvons classer le résultat de
l’analyse de ces plat-formes selon quatre critères (Cx) pris en considération dans le processus
d’évaluation de ces applications :

C1- Gestion d'enquêtes : Certains cas d'utilisation nécessitent l’importation des données, ou de
choisir les clients et de gérer leurs accès, et de bien stocker leurs retours afin de gérer tout sous une
seule plateforme.

C2- Connectivité aux data sources : Les données sont stockées dans un large éventail de formes :
fichiers plats, bases de données sur serveur, sur Cloud, sur Web, Big Data etc.…
Donc il est primordial pour un outil d'enquête de mettre ces types de connexions à disposition de ses
administrateurs/utilisateurs.

C3- Convivialité : Compte tenu du fait que tous les utilisateurs ne sont pas des techniciens, l’enquête
ne devrait pas exiger de compétences informatiques.

C4- La visualisation de données : Analyses et publications des données sous des différents types de
graphiques, créant ainsi une entreprise véritablement pilotée par la donnée.

TypeForm SurveyMonkey GetFeedback

C1- Gestion d'enquêtes NON NON NON

C2- Connectivité aux sources de données NON NON NON

C3- Convivialité OUI OUI OUI

C4- La visualisation de données NON NON NON

Tableau 1 - Tableau comparatif des solutions existantes

20
Suite à cette étude comparative entre les différentes solutions existantes il s’est avéré qu’aucune
de ces solutions-là ne répond convenablement à notre problématique d’où l’intérêt de proposer
notre propre outil d'enquête intitulé ‘MySurvey V2’.

5. Solution proposée

Dans ce projet, nous proposons de développer une solution logiciel propre à « SourceAmax ».
Notre solution, baptisée ‘MySurvey V2’ comprenant principalement deux modules. En effet, le
premier concerne la gestion des données, où nous allons gérer les utilisateurs, les sociétés clientes,
les différents questionnaires, les enquêtes et les campagnes, que nous allons développer pas à pas
dans ce document.

Le deuxième module couvrira la restitution BI, où nous allons étudier de nombreux outils de
Business Intelligence disponibles sur le marché et les intégrer dans notre application, pour enfin
obtenir un outil d'enquête moderne entièrement personnalisé et qui répond parfaitement aux
exigences de « SourceAmax ».

Le pictogramme représenté par la figure 4 est une représentation graphique simplifié de la solution
que nous souhaitons mettre en place. En effet, il décrit les différentes structures impliquées ainsi
que les flux d’échange entre elle.

21
Offre Support

Produits

Services
Société
Consultation des rapports

Clients

MySurvey V2
Gérer

Outil BI

Serveur & BD

22
Figure 4 -Illustration graphique de la solution MySurvey

6. Etude des méthodologies de développement

La gestion du projet est l’organisation méthodologique mise en œuvre pour faire en sorte que le projet
répond aux attentes de l’utilisateur, tout en respectant le coût et le délai prévus initialement. Plusieurs
méthodes de développement sont disponibles. Afin de choisir la méthode la plus optimale, il est
toujours évident de connaître les caractéristiques de chaque méthode et procéder par la suite à une
analyse multicritère pour détecter celle la plus adéquate :

6.1. Rational Unified Process (RUP)

La méthode RUP (Rational Unified Process) est une des émanations de la méthode PU, qui
s’attache à donner un cadre précis au développement orientés objets. C’est une méthode
générique, itérative et incrémentale assez lourde mais qui s’adapte très facilement aux
processus et aux besoins du développement.

• Ses points forts :

– Favorise le dialogue entre les différents acteurs du projet (travail en équipe).

– Repose principalement sur le modèle de document (le document est fortement présent).

– Centrée sur l’architecture et la réduction des risques.

– Produit de qualité.

– Adaptable aux changements.

• Ses points faibles :

– Coût d’accès élevé en relation direct avec le nombre de consultant impliqué.

– Version non immédiate, non évidente.

– Complexité, ce qu’implique qu’il ne convient pas à un projet de petite envergure.

23
6.2. SCRUM

Scrum est la méthode agile la plus éprouvée et la plus documentée. Chacun des éléments la
constituant (rôles, événements, artefacts) est immuable et doit être scrupuleusement respectés.
En revanche, cette approche n’est pas destinée à tous les types de projet. Par exemple, elle
conviendra parfaitement pour le prochain smartphone à la mode, mais ne sera pas adaptée
pour construire un pont

• Ses points forts :

– Le client est au cœur du projet.

– Esprit d’équipe.

– Flexibilité au changement.

– Avancement basé sur le Concret.

Ses points faibles :

– Violation de responsabilité (pas de hiérarchie).

– L’intégration et le test d’acceptation ne sont pas détaillés.

– Taille d’équipe limitée

– Facile à comprendre, difficile à maîtriser.

6.3. Two Track Unified Process (2TUP)

2TUP est un processus de développement logiciel qui réalise un processus unifié. Chaque
étape du cycle provient de l'étape précédente. La méthode est également Incrémental :
à partir de la capture des besoins fonctionnels, nous définissons plusieurs situations Chacun
représente une augmentation du cycle de développement.
• Ses points forts :

24
- Itératif.
- Fait une large place à la technologie et à la gestion du risque.
- Définit les profils des intervenants, les livrables, les plannings, les prototypes.

• Ses points faibles :

- Plutôt superficiel sur les phases situées en amont et en aval du développement : capture des
besoins, support, maintenance, gestion du changement...

- Ne propose pas de documents types.

7. Choix de la méthode adéquate

Après les études comparatives que nous avons menées, d’un côté, nous avons éliminé le
RUP can il néglige la technologie et les contraintes techniques dont notre projet se base.
Concernant Scrum, notre projet ne sera pas développé par l'équipe, Nous ne pourrons pas
distribuer les livrables sur Sprint.

De l’autre côté le processus unifié 2TUP pris en compte des aléas et des contraintes associés
à des changements persistants et rapides. Ainsi il permet de renforcer également le contrôle
des capacités d’évolution et corriger le processus de développement de projet en séparant
tous les aspects techniques fonctionnels. De plus, Grâce à ce processus, on peut penser que
toute évolution et développement de ce projet peut être décomposé et traité en parallèle, En
termes de fonction et de technologie, il s'agit d'une fusion de deux axes.

8. Mise en pratique du processus 2TUP

Ce processus unifié se base sur UML, itératif, centré sur l’architecture et conduit par les cas
d’utilisation. Ce processus de développement logiciel est caractérisé par :

— Itératif et incrémental : Le projet est découpé en itérations de courte durée (environ 1


mois) ce qui permet de mieux suivre l'avancement global.

- Centré sur l’architecture : Tout système complexe doit être décomposé en parties
modulaires pour assurer une maintenance et un développement faciles.

25
- Conduit par les cas d’utilisation : Les cas d’utilisation du futur système sont identifiés et
décrits avec une précision.

Le principe fondateur du 2TUP par suite est le fait que toute évolution imposée à un logiciel
peut se décomposer et se traiter parallèlement, suivant un axe fonctionnel et un axe
technique et la réalisation de la solution consiste à fusionner ces deux derniers.

Comme l’explique la figure 5 ci-dessous, la méthodologie 2TUP est composée de 3


branches principales qui seront détaillés par la suite :

• Branche Fonctionnelle
• Branche Technique
• Branche réalisation.

2TUP signifie «2 tracks unified process » elle se base sur le cycle de développement en Y. Ce
processus commence par une étude préliminaire qui identifie les différents acteurs. Ensuite
elle s’articule autour de trois branches essentielles :

8.1. Branche fonctionnelle :

Cette branche capture les besoins fonctionnels. Ses principales étapes se présentent comme
suit :
– Capture des besoins fonctionnels : Phase qui qui dénie le quoi faire à travers une
spécification générale qui décrit le service à développer d’un point de vue fonctionnel et une
spécification détaillée qui précise les traitements qui concernent chaque scénario des cas
d’utilisation en spécification générale tout en respectant les contraintes fonctionnelles et non
fonctionnelles.
– Analyse : Phase qui consiste à étudier précisément les spécifications fonctionnelles de
manière à obtenir une idée de ce que va réaliser le système en termes de métier.

26
8.2. Branche Technique

- La capture des exigences techniques afin de répondre aux contraintes présentes dans le
cahier de charges et donc répondre aux attentes de client.

- Conception générique, qui définit la méthode de fonctionnement.

Figure 5 - Le cycle de vie en Y(2TUP)

8.3. Phase Conception – Réalisation

- La conception préliminaire : énumère les exigences techniques de l'étude préliminaire et


rejette l'architecture technique et les options de mise en œuvre technique.

27
- La conception détaillée : S’appuie sur l'implémentation technique de l'application. Cela
comprend une combinaison de spécifications détaillées et de conceptions générales pour
déterminer comment effectuer des opérations détaillées. C’est une approche plus proche du
modèle conceptuelle des donnés (MCD), des schémas de base de données, des diagrammes
de classes et d'autres diagrammes de séquence, qui décrivent en détail l'interaction entre les
composants du système.

9. Planning prévision

La planification est la clé de la réussite de n’importe quel projet puisqu’elle aide à bien
organiser et subdiviser le travail en séparant les différentes tâches à réaliser. D’où, on utilise
le diagramme de Gantt, représenté par la figure 1.6, en gestion de projet. C’est l’un des
outils les plus efficaces pour représenter visuellement simple et compréhensible à l’état
d’avancement des différentes activités qui constituent un projet.

La figure 1.6 illustre la planification estimée pour réaliser ce projet.

Figure 6 - Diagramme de Gantt

28
Conclusion
Ce chapitre constitue une partie introductive dans laquelle une présentation du cadre du
travail, l’organisme d’accueil, le projet ainsi que la méthodologie de développement qui a
été élaborée. Compte tenu de cette présentation, une étude préalable dans le prochain
chapitre est indispensable afin de définir l’architecture utilisée ainsi que ses différentes
caractéristiques.

29
Chapitre II : Analyse et Spécification
des besoins
Introduction

La spécification des besoins est une phase cruciale dans le processus de développement
des applications. Comme indiqué dans le cadre méthodologique du premier chapitre, la
méthodologie 2TUP est appliquée. Dans ce chapitre, nous allons donc explorer les deux
branches (Fonctionnelle et Technique) dans lesquels nous allons identifier les différents
acteurs concernés par le système ainsi que les besoins fonctionnels et non fonctionnels,
suivi d’une étude technique de l’environnement de travail.

1. Présentation du projet à réaliser

« MySurvey V2 », comme son nom l’indique, est la deuxième version d'un outil d'enquête
destiné principalement aux différentes employées au sein de Sourceamax, ses partenaires
(Sodexo en particulier), et à tout clients des deux sociétés afin de collecter le feedback de
ses services. Notre plateforme permettant à chacun l’accès à son espace. Le projet doit
permettre essentiellement la gestion des utilisateurs, la gestion des sociétés, la gestion des
questionnaires, la gestion des campagnes et la possibilité de la virtualisation des données à
travers un outil BI qui reste à choisir, le tester et de l'intégrer dans notre application.

2. Étude préliminaire

L’étude préliminaire (ou Pré-étude) est la toute première étape du processus 2TUP. Elle
consiste à effectuer un premier repérage des besoins fonctionnels et opérationnels, en
utilisant principalement du texte, ou bien des diagrammes très simples. Elle prépare les
activités d’une manière formelle : capture des besoins fonctionnels et techniques.

30
2.1. Branche Fonctionnelle

Cette phase présente les besoins fonctionnels qui seront offerts par le système, les besoins
non fonctionnels qui perfectionnent la qualité logicielle du système et permettent
l’interaction des acteurs directement avec le système.

2.1.1. Identification des besoins fonctionnels

Les besoins fonctionnels ou besoins métiers représentent les actions que le système doit
exécuter, il ne devient opérationnel que s’il les satisfait. De ce fait, il est nécessaire de faire
une étude approfondie de nos besoins. Ces besoins fonctionnels seront présentés selon
chaque acteur en interaction avec l’application :

Le super admin :

- S’authentifier
- Gérer les utilisateurs
- Gérer les sociétés
- Gérer les enquêtes
- Gérer les campagnes
- Gérer les questionnaires
- Générer des rapports admin
- Analyser et restituer données

L’admin Sodexo :

- S’authentifier
- Gérer les enquêtes
- Gérer les campagnes
- Gérer les questionnaires
- Générer des rapports admin
- Générer des rapports convives et référents
- Analyser et restituer données

31
Le référent Sodexo :

- S’authentifier
- Gérer les campagnes
- Générer des rapports convives et référents

L’utilisateur :

- Consulter et répondre aux questionnaires


- Générer des rapports convives

2.1.2. Identification des besoins non fonctionnels

Ces besoins présentent les spécifications qui assurent l'efficacité de la solution et les critères
de qualité qui améliorent le fonctionnement du système. En fait ce sont des exigences
implicites que nous imposons à une bonne réalisation de notre projet. Elles se résument en un
ensemble de contraintes de performance, esthétiques et de sécurité :

Simplicité : Notre application doit être simple à utiliser et ne nécessite pas des connaissances
avancées car cette dernière s'adresse à un public de différentes tranches d'âges et qui comprend
probablement des utilisateurs non aguerri (non-informaticiens).

Ergonomie des interfaces : L’application doit offrir des interfaces conviviales et


ergonomiques exploitable par l’utilisateur, elle doit être bien organisée de point de vue
graphique (choix des couleurs, styles…)

Fiabilité : L’inévitable pertinence des données remontées/croisées.

Performance et temps de réponse : L'application doit fournir toutes les données en temps
réel et d'une manière optimale, elle doit assurer un rafraichissement des données souple, rapide
et d’une manière planifiée et régulière. De plus, compte tenu du fait qu'un gros volume de
données qui sera traité, il est indispensable de mettre en place une pagination (côté serveur
et/ou côté client) afin de diminuer le temps de chargement et d'améliorer le temps d'exécution
par conséquent.

32
Sécurité : L’accès et la manipulation de données doivent être surveillés et contrôlés par des
droits attribués par un super administrateur. Encore plus loin, nous utilisons des mesures de
sécurité moderne et efficaces comme par exemple les requêtes paramétrées, les validations de
formulaires, etc… afin de prévenir les vulnérabilités qui pourraient être causées par un certain
nombre d'attaques de sécurité malveillantes telles que l'injection SQL, les scripts intersites
(XSS) et autres.

La modularité de l’application : L'exigence de suivre les standards de développement de la


société dans le but d’avoir un code simple à maintenir et à comprendre par les coéquipiers en
cas de besoin.

2.2. Identification des acteurs

- Le super admin :

C’est un utilisateur responsable de l’administration de l’application dans son ensemble. Il


est capable de gérer les sociétés, les différents utilisateurs de l’application ainsi que leurs
privilèges et l’affectation de leurs rôles. Il gère les enquêtes, les campagnes, et les
questionnaires.

-L’admin Sodexo :

C’est le client principal de la société SourceAmax. Il possède les mêmes droits que le
super admin mais ne peut pas donner le droit super admin. Ainsi Il génère des rapports
admin, convives et référents.

- Référent Sodexo :

C’est un utilisateur ayant un accès limité par rapport au super admin. Ses rôles et ses
actions dans l’application sont fournis par l’administrateur de son ensemble (ce dernier
crée un compte pour le référent Sodexo). Son rôle principalement est de gérer les
campagnes et générer des rapports référents et convives. Le référent Sodexo est dans la
pratique un responsable de centre(s) de profit.

-L’utilisateur :

33
C'est un utilisateur sans identifiant qui ne détient pas des droits spéciaux car il n’accède
pas l'application directement. En effet, c'est la personne qui va se connecter à la tablette et
répondre aux enquêtes qui vont être mis à disposition aux clients en sortant des
établissements après avoir bénéficier d'un certain service.

2.3. Identification des cas d’utilisation


Chaque cas d'utilisation ou « use case » représente une fonctionnalité fournie afin de
produire un résultat souhaité. Par conséquent, le "diagramme de cas d'utilisation" décrit
l'interaction entre le système et ce qui l'entoure en déterminant les besoins et tout ce que le
système doit faire à ces acteurs.

La figure 7 ci-dessous présente le diagramme de cas d’utilisation général de notre système


:

Figure 7 -Diagramme du cas d’utilisation général

34
2.4. Raffinement des cas d’utilisations

Nous allons raffiner le diagramme de cas d’utilisation, en représentant des diagrammes de cas
d’utilisation plus détaillés ainsi des tableaux descriptifs de ces derniers.

2.4.1. Raffinement de cas d’utilisation « gérer les


utilisateurs»

Figure 8 : raffinement de cas d’utilisation « gérer les


utilisateurs »

Tableau 2 - Raffinement de cas d’utilisation « gérer les utilisateurs »


Sommaire d’identification
Cas d’utilisation Gérer l’accès aux enquêtes
Acteur Super admin
Résumé Action permettant à l'administrateur de
gérer les droits d’accès d’un utilisateur a une plusieurs enquêtes
Description des enchaînements

35
Préconditions - L’administrateur doit être authentifié

- L'utilisateur et l(es)'enquête(s) doivent exister


Post Conditions - La liste des utilisateurs doit être récupérée et les droits d’accès
doivent être mis à jour en conséquence
Scénario de base 1- L'administrateur se connecte à l'application

2- L'administrateur choisit l'utilisateur auquel il souhaite


attribuer ou retirer des droits

3- Il choisit l(es)’enquête(s), le type d’accès et clique sur le


bouton ajouter puis enregistrer

4- L’application mis à jour les changements des droits pour


l’utilisateur/l’enquête(s) et renvoi la liste des utilisateurs
de nouveau

Scénario d’exception -L’admin clique sur le bouton annuler

-L’enquête n’appartient pas à l’ensemble d’admin

2.4.2 Raffinement de cas d’utilisation « gérer les campagnes »

36
Figure 9 -Diagramme du cas d’utilisation gérer les campagnes

Le tableau 3 décrit le cas d’utilisation détaillé « Modifier statut campagnes »

Sommaire d’identification
Cas d’utilisation Modifier statut campagnes
Acteur Admin Sodexo
Résumé Action permettant à l'administrateur Sodexo de modifier le statut des
campagnes
Description des enchaînements
Préconditions - L’admin Sodexo doit être authentifié

-L'enquête doit être existante

- L’admin Sodexo doit avoir accès en modification de cette


campagne, cette dernière doit appartenir à une société dont il fait
partie

37
Post Conditions - La liste des campagnes doit être affiché de nouveau et le statut
de la campagne doit être mis à jour dans l’enquête en conséquence
Scénario de base 1- L'admin Sodexo se connecte à l'application
2- Il choisit la campagne qu’il souhaite modifier
3- Il choisit l(es)’enquête(s), l’établissement(s), le nom, les dates
appropriées puis enregistrer
4- L’application mis à jour les changements

Scénario d’exception -L’admin Sodexo clique sur le bouton annuler

-L’admin Sodexo ne possède pas d’accès à l’enquête

2.4.3 - Raffinement de cas d’utilisation « répondre aux enquêtes »

La figure 10 nous présente le diagramme de cas d’utilisation « répondre aux enquêtes »

Figure 10 - Diagramme du cas d’utilisation « répondre aux enquêtes »

Le tableau 4 décrit le cas d’utilisation détaillé « répondre aux campagnes »

Sommaire d’identification

38
Cas d’utilisation Répondre aux campagnes
Acteur Utilisateur
Résumé Action de feedback du client par rapport un service
Description des enchaînements
Préconditions -L'utilisateur doit donner son avis après avoir
consommé un service
Post Conditions - Les réponses doivent être renvoyer aux bases de données
Scénario de base 1- L’utilisateur profite d’un service (repas, soins etc..)
en fonction de sa demande dans l’établissement
2- A sa sortie, le client sera invité à donner son avis sur ce
service, il remplira le formulaire du questionnaire qui lui a
été remis

Scénario d’exception - L'utilisateur refuse de donner son avis


Tableau 4 - Tableau descriptif du cas d’utilisation détaillé « Répondre aux campagnes»

3. Étude des modèles architecturaux

3.1. L’architecture 3-tiers

Nous introduisons avec le modèle architectural suivant un nombre de facteurs à prendre en


compte lors de la conception d'une plateforme. En effet notre plateforme suit l'architecture
traditionnelle à 3 niveaux(3-tiers), ce qui consiste à séparer la réalisation des parties stockage
des données, logique applicative, et présentation comme illustre la figure 11 :

39
Figure 11 - Niveau web dans l’architecture 3-tiers

La mise en œuvre de cette architecture découpe l’application en 3 niveaux :

Niveau 1 (en jaune) : La partie présentation qui s’occupe des interfaces utilisateurs et des
traitements locaux tels que le contrôle de saisie, l’affichage, la mise en forme etc...

Niveau 2 (en vert) : La couche métier qui gère les traitements applicatifs au niveau du serveur
de données.

Niveau 3 (en rouge) : La partie accès et stockage au niveau de base de données.

3.2. L’architecture MVC


MVC (Model-View-Controller) est un style d'architecture logicielle très populaire, qui
nous permet de développer des projets de manière efficace et structurée.

-Modèle : Cette partie gère les données de votre site Internet. Son rôle est de récupérer les
informations "brutes" de la base de données, de les organiser et de les combiner pour que
le contrôleur puisse les traiter.

-Vue : Cette partie prend les informations en provenance du modèle et la visualise sur
l’application, y compris tous les composants web qui ont été invoqués dans les interfaces.

-Contrôleur : Cette partie gère la logique du code qui prend des décisions suivant nos
algorithmes. C'est en quelque sorte l'intermédiaire entre le modèle et la vue.

3.3. Nuance entre MVC et 3-Tiers :

Pour faire d'une application MVC une véritable application à trois niveaux, une couche
d'abstraction d'accès aux données de type DAO (Data Access Object) doit être ajoutée. Au
contraire, pour qu'une application à trois niveaux respecte MVC, une couche de contrôle doit

40
être ajoutée entre l'interface utilisateur et la logique métier. Ces deux pratiques ne sont en
aucun cas s’opposer, elles se chevauchent et sont à la base de la plupart des frameworks de
création d'applications Web.

Conclusion

Dans ce chapitre, nous avons détaillé l’architecture technique qui est très importante pour
concevoir la solution du projet, tout en décrivant les besoins techniques et l’environnement de
travail à mettre en œuvre. Dans le chapitre suivant, nous présentant les phases de conception
et d’intégration de données.

41
Chapitre III : Etude conceptuelle
Introduction

La conception est une étape essentielle du cycle de vie du logiciel. Elle nous permet de décrire
les solutions adoptées pour résoudre des problématiques d’une application ou d’un système à
travers des diagrammes. Après avoir déterminé les exigences du projet, nous présenterons le
système en détail et associerons la forme à l'architecture correspondante. Alors nous allons
continuer, cette partie nécessite une conception technique.

1. Conception générique

Dans la phase de conception, UML est le langage de modélisation le plus souvent utilisé pour
décrire clairement le fonctionnement futur du système afin de faciliter sa mise en œuvre.

1.1. Le langage UML

Le langage UML (Unified Modeling Language, ou langage de modélisation unifié) a été pensé
pour être un langage de modélisation visuelle commun, il est destiné à l'architecture, la
conception et la mise en œuvre de systèmes logiciels aussi bien que leur comportement à
travers un ensemble de schémas, appelés des diagrammes, qui donnent chacun une vision
différente des composants système à traiter.

1.2. Concepts de modélisation spécifiés par l'UML

Le développement d'un système est axé sur trois modèles de systèmes globaux :

• Fonctionnel : ce sont des diagrammes de cas d'utilisation, qui décrivent la


fonctionnalité du système du point de vue de l'utilisateur.

• Statique : ce sont des diagrammes de classes qui décrivent la structure d'un système
en termes d'objets, attributs, associations et opérations.

42
• Dynamique : ce sont des diagrammes d'interaction, diagrammes états-transitions et
diagrammes d'activités utilisés pour décrire le comportement interne du système.

Figure 12 Axes de modélisation d’un système

1.3. Etude des diagrammes UML utilisés

L'UML s’articule sur des éléments et les associe de différentes manières pour former des
diagrammes qui représentent les aspects statiques ou structurels d'un système, ainsi que des
diagrammes comportementaux qui capturent les aspects dynamiques d'un système.

Dans ce contexte, et comme on a introduit une étude de différents cas d’utilisation d’axe
fonctionnel de notre système dans un premier lieu dans le chapitre précédent, on va procéder
avec une brève description d’autres diagrammes d’axe statique et d’axe dynamique qu’on
va utiliser dans notre phase de conception :

Diagrammes structurels :

43
• Diagramme de composant : Décrit les dépendances physique et statique d’une
application en termes de composants (fichiers sources, librairies, plug-ins,
exécutables...)
• Diagramme de déploiement : Décrit le déploiement physique des informations
générées par le logiciel (appelé artefacts) sur des composants matériels.

Diagrammes comportementaux :

• Diagramme de séquence : Montre la séquence verticale des messages passés entre


interactions des objets du système.
• Diagramme d’états transitions : Expose les différents états et transitions possibles
des objets d’une classe.
• Diagramme d’activité : Il montre la séquence des actions et des décisions dans une
activité.

2. Conception préliminaire

2.1. Maquette gestion des sociétés

La figure 13 ci-dessous montre la maquette gestion des sociétés. Nous aurons la possibilité
de chercher ces derniers suivant des critères de recherche. En effet ces critères sont : -
Société ou code société et -Code société LDAP

Figure 13 - Maquette gestion des sociétés

44
2.2. Maquette gestion des utilisateurs

La figure 14 suivante montre le modèle de gestion des utilisateurs. De même, Nous pourrons
effectuer une recherche en fonction des critères de recherche :

- Champ Nom/Code société

- Champ Code Société LDAP

- Champ Identifiant

- Champ Nom

- Champ Prénom

- Champ Enquête

- Champ Rôle

Figure 14 -Maquette gestion des utilisateurs

45
2.3. Maquette gestion des enquêtes

Comprend les formulaires de recherche ainsi que les actions associées aux enquêtes, ces
actions sont :

• Voir les questionnaires : ouvre la page gestion des questionnaires avec filtre sur
l’enquête
• Générer une campagne
• Modifier une enquête : ouvre la modal d’édition d’une enquête
• Supprimer l’enquête
• Restitution

Figure 15 -Maquette gestion des enquêtes

46
3. Conception logicielle

3.1. Architecture générale de la plateforme

Pour l'architecture générale de la plateforme, et comme nous l’avons introduit dans le chapitre
précédent, nous avons adopté une architecture à 3 niveaux. Allons plus loin, on va présenter
le cycle de vie de notre architecture MVC dans la figure ci-dessous :

Restitution de la page
demandée

Navigateur utilisateur
Requête HTTP

Vue

Obtention de données
Réponse Serveur

Demande & manipulation Requête SQL

Contrôleur Modèle SGBD MySQL

Figure 16 - Cycle de vie MVC

3.2. Spécifications des interactions

1- Requête HTTP : L’interaction de l’utilisateur avec l’IHM (Interface Homme Machine)


comprenant les composants graphiques qui déclenchent des évènements. Afin que toute
demande soit bien traité, ces composants nécessitent un routage vers la bonne direction.

2- Demande et manipulation : Etablie dans l’API REST, contenant tous les fonctions et
services nécessaire qui font appel à des requêtes HTTP pour obtenir (GET), placer (PUT),
publier (POST) et supprimer (DELETE) des données, cela est géré avec un client HTTP basé

47
sur la promesse intitulé Axios. Sous le capot, ColdFusion utilise un framework ORM leader
de l'industrie appelé Hibernate.

3- Requête SQL : Ecrite en langage SQL et utilisé pour accéder aux données d'une base de
données. Ça permet d'obtenir les données vérifiant les critères de sélection. Ces demandes
proviennent évidemment de notre DAO.

4- Réponse Serveur : C’est un code statuts indiquent si une requête HTTP spécifique a été
exécutée avec succès. Les réponses sont regroupées en cinq classes :
- Réponses informatives (100–199)
- Réponses réussies (200-299)
- Redirections (300–399)
- Erreurs client (400–499),
et erreurs de serveur (500–599).

5- Obtention des données : Le retour d’une requête sous le format souhaité, ou code d’erreur
le cas échant.

6- Retour JSON : Couramment utilisé pour la sérialisation et la transmission de données


structurées (par exemple, envoyer des données du serveur au client, afin qu'elles puissent être
affichées sur une page Web, ou vice versa).

7- Restitution de la page demandée : C’est le comportement d’interface de l’application


(UI) en fonction de l’interaction d’utilisateur.

4. Conception détaillé

4.1. Diagramme détaillé du contrôleur

Les méthodes offertes par les contrôleurs sont essentiellement un ensemble des composants
ColdFusion (également appelé CFCs) liées à une entité donnée, tenant comme exemple un
ensemble des contrôleurs accompagnés de quelques fonctions présenté dans la figure
suivante :

48
Contrôleurs GestionUtilisateur.cfc GestionQuestionnaire.cfc GestionCampagne.cfc

Méthodes - getListUser(cf - getGestionQuestion - getCampagneGri


arguments) naireGrid(extraPara d(cfarguments)
- getEnqueteGri ms) - lancerCampagne(
d(userID) - getInfosEnquete(id) id)
- delUser(id) - getInfosCampagne(i - goChangeStatut(
- updateUser(cf d) campagneId,
arguments) - createModif(form) societeId)
- reinitPassword - delQuestionnaire(id - stopperCampagn
(userID) ) e(id)
- addRight(cfar - listQuestionnaire - getPeriode
guments) - launchRestitution
- getDroitByFor (campagneId,
mId(formulair restitution)
eId)

Tableau 5 - Exemples contrôleurs et leurs méthodes

• GestionUtilisateur.cfc : C'est le contrôleur de l'utilisateur. Il gère les opérations


CRUD associées et authentification de nouveaux utilisateurs. Par conséquent, il
fournit des services aux administrateurs pour gérer tous les utilisateurs de la plate-
forme.
• GestionQuestionnaire.cfc : C’est le contrôleur des questionnaires, il permet de
gérer les opérations liées à la création et la gestion des questionnaires et le
comportement avec les composants associées (utilisateurs, questions, enquêtes etc..).
• GestionCampagne.cfc : C’est le contrôleur des campagnes, permet de gérer les
campagnes et l’association de toute autres composant en relation avec.

4.2. Diagramme détaillé des vues

Chaque vue est essentiellement une combinaison de fichiers d’extension .vue fonctionnant
avec les composant associés.
La figure 17 représente les vues d’objet société :

49
Figure 17 - Composants Vue associés à la société

gestionSociete.vue : Contient l’interface principale d’un objet et fais appel à tous ses
composants connexes.
DialogSociete.vue : Composant v-dialog qui informe les utilisateurs sur une tâche
spécifique et peut contenir des informations critiques, nécessiter des décisions ou impliquer
plusieurs tâches.
FormListSociete.vue : Composant requis pour implémenter une méthode de recherche
optimisée (événement keypress).

4.3. Diagramme de séquence détaillé (vue dynamique)

La figure 19 représente le diagramme de séquence détaillé du scénario ajout d’utilisateur


par le super admin suivant notre architecture MVC. Après la phase d’authentification,
l’admin interagit avec l’interface gestion d’utilisateurs, ainsi qu’avec le contrôleur, le
modèle associées à ce composant (dans les coulisses) et bien sûr avec notre base de
données SQL Server intitulé ESH_DEV.

50
Figure 18 -Diagramme de séquence détaille

51
4.4. Diagramme de classes (vue statique)

Figure 19 -Diagramme de classes

Conclusion

Dans ce chapitre, nous avons abordé la conception sur laquelle la plate-forme fonctionne.
Tout d'abord, nous avons présenté l'architecture globale et nous avons établi les modèles
conceptuels de notre plateforme. Ensuite, nous avons introduit la conception de la plate-
forme à l'aide de diagramme de classes et le diagramme de séquence. Le chapitre suivant
présente la dernière phase du projet : la phase de réalisation, qui comprend une étude des
technologies utilisées en vue d’implémenter la plateforme.

52
Chapitre IV : Réalisation
Introduction

La phase d’implantation et test est la phase finale de réalisation du projet, dans cette partie
nous allons détailler la mise en œuvre de chaque composant étudié dans le chapitre précédant.
Cette partie consiste à convertir la conception exprimée à l’aide des formalismes standards et
nécessite la présence de plusieurs outils de programmation.

Dans ce chapitre, nous allons présenter l’environnement matériel et logiciel du projet. Ensuite,
nous nous intéressons à la description de quelques interfaces du système implémenté dans le
cadre de quelques scénarios d’utilisation.

1. Environnement de travail :

Dans cette partie, nous présentons les différents outils matériels et logiciels nécessaires pour
le développement de notre application. Afin de maintenir les technologies et les normes
adoptées par la société, il est nécessaire de présenter les technologies avec lesquelles nous
sommes menés à suivre dans cette mission.

1.1. ColdFusion

Développé et commercialisé par Adobe, ColdFusion est un langage de programmation côté


serveur écrit en Java et basé essentiellement sur des <balises> écrit juste à côté du code
HTML. Il intègre de nombreuses technologies Internet telles que XML, Java, les services
Web, etc., et à ce titre, les applications peuvent être aussi petites ou complexes que nécessaire.
Ça nous permet de créer très rapidement de puissantes applications Web avec beaucoup moins
de code que d'autres technologies telles que ASP, PHP, etc.

53
ColdFusion se compose de deux éléments principaux :

1- Un serveur ColdFusion (qui s'exécute au-dessus de votre serveur Web),

2- Modèles (ou fichiers) ColdFusion, que vous écrivez en utilisant ColdFusion Markup
Language (CFML).

Avec ColdFusion, on peut effectuer des actions d’API standards telles que :

-Interroger une base de données


-Créer / lire des fichiers sur le serveur
-Publier des services Web
-Envoyer des e-mails (par exemple, des newsletters à une liste de diffusion)
-Avoir un espace membre
-Fichiers FTP vers / depuis un autre serveur
- Déployez des API avec une plateforme de gestion d'API flexible et évolutive
Et beaucoup plus

Figure 20 -Logo Adobe Coldfusion

Nous utiliserons donc la version développeur entièrement fonctionnelle et gratuite de


ColdFusion. Le serveur d'applications est très performant ayant des fonctionnalités intégrées
pour simplifier la génération et la manipulation des fichiers, et la création de services REST.

54
Figure 21 -Ecran d'accueil du serveur ColdFusion

1.2. Microsoft SQL Server

SQL Server est un système de gestion de base de données (SGBD) en langage SQL
incorporant entre autres un SGBDR (SGBD relationnel) développé et commercialisé par la
société Microsoft. Il fournit une plate-forme fiable, efficace et intelligente pour la gestion et
l'analyse des données. Vous pouvez le confier aux applications les plus critiques pour réduire
le temps et les coûts de développement et de gestion des applications, tout en fournissant des
informations ciblées et pertinentes pour l'ensemble de l'organisation.

Parmi ses points forts :

-Intégration avec SQL Server Management Studio pour gérer et manipuler facilement les
bases de données (création de tables, requêtes,)
- Intégration avec d’autres outils permettant de déployer et gérer aisément les bases de
données auto-hébergées(on-premise) ou sur le cloud.
-Répond aux exigences de la sécurité grâce aux chiffrements des données.
- Assure des transactions (ensemble de requêtes exécutées en un seul bloc) plus rapide des
autres solutions.

55
Figure 22 - Logo Microsoft SQL Server

1.3. SQL Server Management Studio (SSMS)

Microsoft SQL Server Management Studio est un environnement de développement avancé


qui nous permet de configurer, gérer et administrer les moteurs de base de données SQL
Server. SSMS est très populaire et largement utilisé par les développeurs et les administrateurs
de bases de données en raison des avantages suivants :

- Gratuit (Open Source)


- Expérience utilisateur avancée
- Diverses options de complément
- Installation facile

Figure 23 - Logo Microsoft SQL Server Management Studio

56
1.4. Vue JS

Vue JS est un framework Javascript évolutif pour construire des interfaces utilisateur. À la
différence des autres frameworks monolithiques, Vue a été conçu et pensé pour pouvoir être
adopté de manière incrémentale. Le cœur de Vue.js s’appuie sur la couche de présentation
(vue). Il dispose pour cela de fonctionnalités de templating avancées, ainsi il est vraiment
simple de l’intégrer avec d’autres bibliothèques ou projets existants. D’un autre côté, Vue
est tout à fait capable de faire tourner des applications web monopages (SPAs) quand il est
couplé avec des outils modernes et des bibliothèques complémentaires.

Vue.js dispose de divers plugins afin d’apporter d’autres fonctionnalités au framework :

• Vue-resources permet de réaliser des requêtes AJAX sur une API

• Vue-router permet de gérer le routing de votre application

• Vue-validator permet de valider vos formulaires

• Vuex est un state manager pour Vue.js (équivalent de Flux/Redux)


• Et bien d’autres

Figure 24 - Logo Vue JS

Bien qu'il se concentre fortement sur la logique des composants et l'application dans son
ensemble, il est toujours judicieux de travailler avec un autre type de bibliothèque ou de
framework pour injecter le style et enrichir l'interface utilisateur.

57
1.5. Vuetify JS

Vuetify.js est un framework de composants pour Vue.js 2. Il vise à fournir des composants
propres, sémantiques et réutilisables qui facilitent la création des applications. Vuetify est
conforme à la spécification Material Design. Cela signifie que les principales fonctionnalités
de Vue et de Material seront disponibles par défaut et que les deux communautés pourront les
améliorer.

Figure 25 - Logo Vuetify JS

1.6. Pandas

Pandas est une librairie Python spécialisée dans l’analyse des données. Elle propose en
particulier des structures de données puissantes et simples à utiliser, ainsi que les moyens
d'opérer rapidement des opérations sur ces structures. Parmi ses fonctionnalités :

• Manipuler des tableaux de données (DataFrames) avec des étiquettes de variables


(colonnes) et d'individus (lignes).
• On peut facilement lire et écrire ces données à partir ou vers un fichier tabulé.
• On peut tracer des graphes à partir de ces DataFrames grâce à Bokeh.

Figure 26 -Logo pandas


58
1.7. Bokeh

Bokeh est une bibliothèque de visualisation Python interactive qui est destinée aux
navigateurs Web modernes. Son but est de fournir une nouvelle structure graphique élégante
et concise dans le style de D3.js, et d'étendre cette fonction avec une interactivité haute
performance sur des ensembles de données volumineux ou en continu.

Figure 27 -Logo bokeh

2. Présentation de la solution Web

2.1. Écran d’accueil

L'écran d'accueil contient principalement un graphique indiquant l'état des campagnes, et un


tableau de bord contenant un formulaire de recherche.

59
Figure 28 – Écran d’accueil MySurvey

2.2. Écran gestion des utilisateurs

Contient un formulaire de recherche d'utilisateurs selon différents critères, ainsi que la liste
des utilisateurs, leurs coordonnés, leurs rôles dans l’application et les actions associés.

Figure 29 - Écran gestion des utilisateurs (censuré)

Le formulaire d’ajout d’utilisateurs contient les différents champs requis et facultatifs pour
l’ajout, ainsi les droits d’accès aux enquêtes et les actions associés.

60
Figure 30 -Écran ajout d’utilisateur

61
De même pour l’écran de modification :

Figure 31 – Écran modification d’utilisateur

2.3. Écran gestion des sociétés

Contient les différentes propriétés des sociétés et les critères de recherche (nom société,
code société ou code LDAP), ainsi que les actions associées.

62
Figure 32 – Écran gestion des sociétés (censuré)

Écran ajout d’une société :

Figure 33 – Écran ajout société

63
2.4. Écran gestion des questions

On trouve ici les différentes questions posées aux clients, un formulaire de recherche et les
actions associés.

Figure 34 – Écran gestion des questions

L’ajout d’une question impose le choix de la question, s’il la réponse est obligatoire ou
facultatif, a quel questionnaire va ton l’attacher, la catégorie et le type de champ.

Figure 35 – Écran ajout de question

64
2.5. Écran gestion des indicateurs

Dans le but d’une meilleure explication des questions aux utilisateurs, chaque question
possédée d’un indicateur, on trouve dans cet écran tous les indicateurs ainsi un formulaire de
recherche et les actions associés.

Figure 36 – Écran gestion des indicateurs

2.6. Écran gestion des enquêtes

On trouve dans cet écran la liste des différentes enquêtes et leurs types, et les actions
associés.

65
Figure 37 - Ecran gestion des enquêtes (censuré)

Figure 38 – Écran modification d’enquête

66
2.7. Ecran gestion des campagnes

Figure 39 – Écran gestion des campagnes (censuré)

2.8. Écran suivi des campagnes

Figure 40 – Écran suivi des campagnes (censuré)

67
2.9. Internationalisation (i18n)

L'internationalisation (i18n) est le processus de préparation d'une application afin qu'elle


puisse prendre en charge les langues locales et les paramètres culturels. Un produit
internationalisé répond aux exigences des marchés locaux à travers le monde, fonctionnant de
manière plus appropriée en fonction des normes locales et répondant mieux aux attentes des
utilisateurs.

Figure 41 - Page d’accueil en anglais

4.2.7 Thème sombre

Les thèmes sombres réduisent la luminance émise par les écrans des appareils, tout en
respectant les taux de contraste de couleur minimum. Ils contribuent à améliorer l'ergonomie
visuelle en réduisant la fatigue oculaire, en adaptant la luminosité aux conditions d'éclairage
actuelles et en facilitant l'utilisation de l'écran dans les environnements sombres (notamment
mode nuit).

68
Figure 42 - Thème sombre

2.10. Page 404

Les erreurs 404 peuvent être frustrantes pour les utilisateurs, donc le but principal d'une page
404 est de transformer l'expérience utilisateur négative potentielle de la rencontre d'une erreur
en une expérience positive. La clé pour cela, ce sont les liens. Les liens sur 404 pages sont si
importants car ils permettent aux utilisateurs de sortir de la page d'erreur.

Figure 43 - Page 404

69
Conclusion

Tout au long de ce chapitre, nous avons présenté l’environnement logiciel et technique utilisé
lors du développement de la plateforme. Ensuite, Nous avons présenté quelques captures
d’écran montrant le bon fonctionnement de notre application. Ensuite, nous avons donné un
aperçu sur le travail réalisé à travers quelques interfaces. Nous concluons notre travail avec
une conclusion générale et quelques perspectives.

70
Conclusion générale
Il y’a aujourd’hui un vaste volume de données générées par les sociétés et les applications en
production particulièrement. Ces données qui s’évoluent d’une façon exponentielle, sont en
fait les enjeux de toute entreprise et le juge de ses stratégies, d'où se trouve le besoin de
traitement informatisé des données.

Le travail réalisé au cours de ce projet de fin d’étude a porté sur la conception et la réalisation
d’une application web intitulé « MySurvey » qui vise principalement la collecte, l’analyse et
la restitution des données.

La mise en place de notre projet s'est déroulée en plusieurs étapes. Une première étape pour
la compréhension du contexte général du projet. Une seconde ayant pour but d’analyser et de
ressortir les véritables besoins de l’utilisateur. Cette étape est une des étapes clé de la réussite
de tout projet. C’est pour cette raison que nous lui avons consacré une période importante
dans la spécification et l’analyse des besoins. Nous avons opté pour 2TUP comme processus
de développement et le langage UML comme langage de modélisation. Pour la réalisation,
nous avons utilisé un ensemble d’outils tels que Coldfusion pour notre serveur, SQL Server
pour la base de données et Vue JS comme framework front office, ainsi que d’autres librairies
assez intéressantes.

Bien que nous ayons rencontré quelques difficultés au début du projet, ce dernier fut une
bonne occasion de sortir du cadre théorique et d’appliquer les connaissances acquises lors des
études universitaires dans le monde du travail. Par ailleurs, ce projet nous a permis de mettre
en pratique les connaissances acquises quant au suivi du cycle de vie d’un projet informatique
(de l’analyse des besoins au test de l’application). Cette réalisation a aussi été l'occasion
d’intégrer le monde professionnel et d’apprendre plusieurs aptitudes et habitudes sociales
telles que le travail en groupe, la collecte d’informations, et de contacter différents services
clients à travers le monde, etc. Ceci afin d’extraire les besoins des acteurs du système à mettre

71
en œuvre. Nous n’aurions jamais pu aboutir à ce résultat final sans le soutien et l’encadrement
de nos tuteurs qui nous ont transmis un savoir-faire d’une grande valeur.

Ce projet est un noyau sur lequel peuvent s’étendre plusieurs perspectives pour l’enrichir et
le développer. Il est donc possible d’améliorer le projet dans le sens où il peut être exploité
avec des fonctionnalités supplémentaires ou plus élaborées.

72
Webographie

Learn CF in a Week :
http://www.learncfinaweek.com
Adobe ColdFusion Learn & Support

The Progressive JavaScript Framework:


https://vuejs.org/

Design guidance and code


https://material.io/

Material Design Framework:


https://vuetifyjs.com/en/

Internationalization with vue-i18n:


https://www.npmjs.com/package/i18n
https://vueschool.io/courses/internationalization-with-vue-i18n

Pandas - Python Data Analysis Library


https://pandas.pydata.org/
https://www.lebigdata.fr/business-intelligence-definition

Python - Data visualization using Bokeh


https://bokeh.org/

Qu'est-ce que le langage UML (langage de modélisation unifié)?


https://www.lucidchart.com/pages/fr/langage-uml#section_0

Nuance entre MVC et 3-Tiers - Memoire Online


https://www.memoireonline.com/02/09/2005/m_Conception-et-Developpement-dun-
logiciel--de-gestion-commerciale5.html

73
Annexe 1
1. Informatique décisionnelle (BI)

Introduction

Le terme Business Intelligence (BI), ou informatique décisionnelle, désigne les


applications, les infrastructures, les outils et les pratiques offrant l’accès à
l’information, et permettant de récupérer, analyser, et visualiser l’information pour
améliorer et optimiser les décisions et les performances d’une entreprise. En d’autres
termes, la Business Intelligence est le processus d’analyse de données dirigé par la
technologie dans le but de déceler des informations utilisables pour aider les dirigeants
d’entreprises et autres utilisateurs finaux à prendre des décisions plus informées.

1.1 Caractéristiques clés des solutions BI

- Tableaux de bord exécutifs

Les tableaux de bord personnalisés fournissent des données en temps réel pertinentes
et faciles à comprendre aux chefs d'entreprise, permettant une prise de décision plus
rapide et plus efficace tout en réduisant les temps de réponse aux événements internes
et externes.

- Rapports interactifs et opérationnels

Les rapports interactifs aident les utilisateurs à convertir les données en connaissances.
Ils permettent aux utilisateurs de mieux comprendre l'analyse dans les rapports et les
données sous-jacentes sur lesquelles ces rapports sont basés, leur donnant des
informations exportables dont ils ont besoin pour prendre des décisions critiques.

- Préparation et nettoyage des données

74
Toutes les capacités et fonctionnalités de BI se concentrent sur les données.
Cependant, ces données doivent d'abord être collectées. La collecte et
préparation de données est l'une des principales fonctionnalités de chaque outil
BI.

- Suivi des KPIs

Chaque entreprise a des indicateurs de performance clés uniques dont elle a


besoin pour suivre et des utilisateurs spécifiques qui ont besoin de certains
rapports à la demande. Les outils de BI modernes vous permettent de définir
des alertes personnalisées pour différents types d'utilisateurs et ensembles de
données afin que tous les membres de n'importe quelle équipe reçoivent des
notifications immédiates des déclencheurs dont ils ont besoin 24 heures sur 24.

- Intégration ouverte

Les plates-formes de BI pourront accéder non seulement aux propres données de votre
organisation, mais également aux informations provenant des e-mails, des médias
sociaux, des sites Web, etc.

1.2 Méthode développement à la demande (Restitution des données)

Chez notre client Sodexo le fonctionnement historique de leur approche des


enquêtes fait qu’avec chaque nouvelle enquête ils savent déjà sous quel format
visuel ils veulent leur restitution. Chaque enquête possède donc son propre
template cfm qui gère la restitution, en s’appuyant ou non sur la fonctionnalité de
widgets vue précédemment.

Les exemples sont multiples :

75
- Enquête de satisfaction :

FIGURE 44 – Enquête de satisfaction

76
-Enquête éducation :

FIGURE 45 – Enquête éducation

77
- Enquête PH :

FIGURE 46 – Enquête au chevet du patient (PH)

1.3 Objectif

L’objectif principal de ce projet est de moderniser complètement la partie restitution de la


solution MySurvey en y adjoignant une nouvelle brique logicielle.

Au regard des éléments ci-dessus nous voulons que nos clients soient en mesure de créer
des rapports de restitution en toute autonomie, il est nécessaire pour cela de simplifier au
maximum la création de ces derniers.

78
De ce point-là, nous avons cherché des outils BI du marché toute en respectant le cahier
des charges de notre client. Afin de s’interfacer avec MySurvey, l’outil choisi devra
disposer de points d’entrée (API) ou a minima mettre à disposition des URLs afin que
MySurvey puisse aller chercher des rapports rendus disponibles sur cet outil.

La validation du choix de l’outil sera basée sur :

- La pertinence des données remontées/croisées

- L’efficacité avec SQL Server de Microsoft qui est le SGDB utilisé par MySurvey

- La rapidité des requêtes

- La facilité d’utilisation

- Les possibilités de création de rapports (se baser sur les rapports existant en les
reproduisant)

2. Benchmarking

2.1 Etude comparatif des outils du marché

Parmi une variété d'outils BI étudiés, seuls quelques-uns ont répondu à notre cahier des
charges. Afin de clarifier, nous exposerons 2 tableaux : le premier montrant les solutions
abandonnées et les raisons et le second listant les solutions adoptées ainsi leurs points forts
et points faibles.

2.1.1 Outils abandonnées :

Outils Limitations

Ses fonctionnalités semblaient répondre à


nos besoins, mais il n'y avait pas d'option
de téléchargement sur leur site Web et le
service client est hors service.
La création / personnalisation de rapports
nécessite des connaissances en
développement ce que ne répond pas aux
exigences de cahier des charges.
L’un des leadeurs du BI,
malheureusement, nous n'avons pas pu
fournir la configuration système minimale
requise pour le tester.

79
Basé sur le Cloud, dont les exigences
nécessitent une solution installée sur nos
propres serveur (On-premise).

-Dédié principalement au Machine


Learning, ne fournit pas de points d'entrée
API pour l’intégration avec les
applications.
-La création des rapports nécessite de
suivre un flux de travail dataiku non
convivial.

Tableau 5.1 – Limitations des outils abandonnés

2.1.2 Outils retenus :

• Power BI : Microsoft Power BI est une suite de solution de Business Intelligence


(BI), développée par Microsoft et intégrée à Office 365. Elle permet la création de
rapports et d’outils de visualisation interactifs et dynamiques tout en offrant des
fonctionnalités de BI puissantes et avancées permettant de répondre à toutes les
problématiques, quel que soit la taille d’entreprise et le secteur d’activité.

• Qlik Sense : Qlik Sense est une plateforme d'analyse de données de bout en bout
qui sert de référence à une nouvelle génération d'analytics. Grâce à son moteur
associatif, unique en son genre, son intelligence artificielle sophistiquée et sa
plateforme de cloud computing haute performance, vous pouvez permettre à tous
les membres de votre organisation de prendre de meilleures décisions au quotidien,
créant ainsi une entreprise véritablement pilotée par la donnée.

• Zoho Analytics : Auparavant Zoho Reports, est un logiciel de veille stratégique et


d'analyse des données en libre-service qui vous permet de créer des visualisations
de données attrayantes et des tableaux de bord informatifs en quelques minutes.

80
Solution/Logiciel

-Simple à utiliser -Dépendance à une


infrastructure Microsoft.
-Intégration de données de
différents formats à partir d'une -Limitations à affronter
diversité de datasources externes lorsqu'il s'agit d'énormes
et internes (y compris SQL ensembles de données.
Server)
-Les analyses et
-Un bon rapport qualité-prix fonctionnalités avancées de
la suite Power BI sont
-Communauté riche et en difficiles à maîtriser.
croissance
-Facilité de création de -La console de gestion Qlik
visualisation Sense (QMC) peut
certainement être améliorée
- Préparation des données (en particulier pour la
intuitive et intelligente configuration du proxy et la
-Permet des connexions gestion des licences)
profondes entre des sources de
données disparates, y compris -Ne prend pas en charge les
SQL Server requêtes SQL
personnalisées ou les
-Peut gérer tout le cycle de vie procédures stockées
des données, de l'ETL jusqu'aux
visualisations sur les tableaux de -L'imposition d'agrégations
bord. de colonnes n'affiche pas les
résultats souhaités
-Large sélection de -Les limites de la syntaxe
dashboard/graphs disponibles. SQL sont difficiles à
deviner (par exemple la
-Facilité de création de rapports jointure est limitée de 5
personnalisés, dynamiques et tables)
accessibles au public.

-Des fonctionnalités telles que le


partage de rapports et la
planification des e-mails sont
extrêmement utiles.

Tableau 5.2 – Comparaison des solutions retenus

81
2.2 Environnement de travail

Afin d'installer et de tester ces solutions, nous avons dû utiliser un logiciel de virtualisation
multiplateforme qui nous permet d'étendre notre ordinateur existant pour exécuter plusieurs
systèmes d'exploitation en même temps. Cet outil est Oracle VM VirtualBox.

FIGURE 47 – Oracle VM VirtualBox

Cette étape nécessite l'installation de chaque solution sur un système d'exploitation adéquat,
voici un aperçu des outils installés :

FIGURE 48 – Outils installés sur la machine virtuelle

82
2.3 Intégration à Microsoft SQL Server :

2.3.1 Intégration de Power BI

Cette étape nécessite l’installation de deux outils complémentaires :

• Power BI Report Server (PBRS) :


C’est est la solution locale (on-premise) qui permet de publier et partager des
rapports entre les équipes après avoir effectué la configuration requise.

FIGURE 49 – Ecran d'accueil Power BI RS

• Power BI Desktop (Optimized for Power BI Report Server):


C’est l’outil dans lequel on va connecter nos données, les transformer et les
remodeler, afin de générer des rapports. Cette version est optimisée pour PBRS
comme indiquant son nom.

83
FIGURE 50 – Ècran d'accueil Power BI Desktop

La figure suivante présente les informations d’identification requis pour accéder au serveur
de base de données :

FIGURE 51 – Connexion Power BI Desktop à SQL Server

Une fois la connexion est établie avec succès, on peut procéder vers la préparation des
tables contenant les données dont on a besoin pour créer notre rapport.

84
2.3.2 Intégration de Qlik Sense

Après avoir installé et bien configuré Qlik Sense, on peut se connecter la nôtre datasource :

FIGURE 52 – Connexion Qlik Sense à SQL Server

Après cette étape, choisissons les tables qu’on a besoin (ceci est un test) :

FIGURE 53 – Récupération des tables (Qlik Sense)

85
L'une des fonctionnalités puissantes de Qlik Sense est la prédiction précise des associations
des tables, comme indiqué ci-dessous, il a automatiquement détecté que les la table
FORMULAIRE et STATUT_FORMULAIRE sont liées le champ STATUT_ID :

FIGURE 54 – Association des tables (Qlik Sense)

Après avoir créé notre modèle de données, nous pouvons commencer à créer nos
visualisations, les tables que nous avons importées seront disponibles dans l'onglet champs

FIGURE 55 – Feuille Qlik Sense

86
2.3.3 Intégration de Zoho Analytics

FIGURE 56 – Connexion Zoho Analytics à SQL Server

La figure 57 représente les différentes tables de notre source de données intitulé esh_dev
sous Zoho Analytics.

FIGURE 57– Datasource esh_dev sous Zoho

87
De même, choisissons les tables en indiquant les relations appropriées :

FIGURE 58 – Concepteur Zoho Analytics

Les tables de notre datasource désormais disponible et prêt, on va présenter on se que suit
quelques résultats des rapports générés.

2.4 Création des rapports tests

On se basant sur les rapports spécifiés par notre client, on a essayé de les reproduire en
utilisant les outils ci-dessus.

2.4.1 Rapports Power BI

88
FIGURE 59 – Enquête satisfaction sous PBIRS

FIGURE 60 – Tableau de bord enquête PH (Power BI)

Ces rapports étaient élaborés avec Power BI Desktop et on a la publier sur notre PBIRS
afin qu’on puisse la partager et l’intégrer dans notre application.

2.4.2 Rapports Qlik Sense

89
FIGURE 61– Enquête éducation (Qlik Sense)

Malgré toutes les fonctionnalités intéressantes de Qlik Sense, la version sur site ne contient
pas tous les graphiques de la version cloud, ajoutant à cela l'imposition d'agrégations qui
pourraient poser des problèmes dans certains cas particuliers, ce qui diminue les chances
d'adopter cette solution finalement.

2.4.3 Rapports Zoho Analytics

FIGURE 62 – Enquête éducation (Zoho Analytics)

90
91
FIGURE 63 – Enquête au chevet du patient (Zoho Analytics)

On constate clairement que Zoho Analytics est le plus proche des résultats souhaités grâce
à sa grande flexibilité et à la large gamme de graphiques dont il dispose.

Conclusion

Ce module a été un énorme avantage dans notre mission car il nous a introduit à
nombreuses plateformes de BI, les notions d'analyse de données et de visualisation de
l'information et son fonctionnement, ainsi que la façon dont les entreprises visent à se
concentrer sur les résultats de leurs données afin améliorer le service de ses clients.

92

Vous aimerez peut-être aussi