Untitled
Untitled
Untitled
Dédicaces
Je dédie ce modeste travail à :
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.
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.
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 :
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.
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.
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.
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.
• Fonctionnalités
- Création d’enquêtes.
- Personnalisation des formulaires à créer.
- Exportation des données.
15
• Avantages
• Inconvénients
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.
• Fonctionnalités
• Avantages
• 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.
• Fonctionnalités
18
• Avantages
• Inconvénients
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.
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
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 :
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.
– Repose principalement sur le modèle de document (le document est fortement présent).
– Produit de qualité.
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
– Esprit d’équipe.
– Flexibilité au changement.
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.
- Plutôt superficiel sur les phases situées en amont et en aval du développement : capture des
besoins, support, maintenance, gestion du changement...
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.
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 :
- 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.
• 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 :
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.
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.
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.
« 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.
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 :
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).
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.
- Le super admin :
-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.
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.
35
Préconditions - L’administrateur doit être authentifié
36
Figure 9 -Diagramme du cas d’utilisation gérer les 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é
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
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
39
Figure 11 - Niveau web dans l’architecture 3-tiers
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.
-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.
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.
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.
Le développement d'un système est axé sur trois modèles de systèmes globaux :
• 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.
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 :
2. Conception préliminaire
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
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 Identifiant
- Champ Nom
- Champ Prénom
- Champ Enquête
- Champ Rôle
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
46
3. Conception logicielle
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
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.
4. Conception détaillé
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
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).
50
Figure 18 -Diagramme de séquence détaille
51
4.4. Diagramme de classes (vue statique)
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
53
ColdFusion se compose de deux éléments principaux :
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 :
54
Figure 21 -Ecran d'accueil du serveur ColdFusion
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.
-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
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.
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.
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 :
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.
59
Figure 28 – Écran d’accueil MySurvey
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.
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 :
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é)
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.
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.
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.
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é)
66
2.7. Ecran gestion des campagnes
67
2.9. Internationalisation (i18n)
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
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.
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
73
Annexe 1
1. Informatique décisionnelle (BI)
Introduction
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.
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.
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.
- 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.
75
- Enquête de satisfaction :
76
-Enquête éducation :
77
- Enquête PH :
1.3 Objectif
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.
- L’efficacité avec SQL Server de Microsoft qui est le SGDB utilisé par MySurvey
- La facilité d’utilisation
- Les possibilités de création de rapports (se baser sur les rapports existant en les
reproduisant)
2. Benchmarking
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.
Outils Limitations
79
Basé sur le Cloud, dont les exigences
nécessitent une solution installée sur nos
propres serveur (On-premise).
• 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.
80
Solution/Logiciel
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.
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 :
82
2.3 Intégration à Microsoft SQL Server :
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 :
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 :
Après cette étape, choisissons les tables qu’on a besoin (ceci est un test) :
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 :
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
86
2.3.3 Intégration de Zoho Analytics
La figure 57 représente les différentes tables de notre source de données intitulé esh_dev
sous Zoho Analytics.
87
De même, choisissons les tables en indiquant les relations appropriées :
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.
On se basant sur les rapports spécifiés par notre client, on a essayé de les reproduire en
utilisant les outils ci-dessus.
88
FIGURE 59 – Enquête satisfaction sous PBIRS
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.
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.
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