Dédicaces
Nous dédions humblement ce mémoire:
A ceux qui nous ont toujours donné de leurs personnes, témoigné de leurs
con...
Remerciements
Ce travail est le labeur de quatre mois et n’aurait probablement pas vu le jour
sans le soutien d’un grand n...
Abstract
This paper presents the work’s result of our final-year study project, which was carried out as
part of our inter...
Résumé
Ce rapport constitue le résultat du travail réalisé dans le cadre du projet de fin d’études
effectué au sein de l’A...
1
Table des Matières
INTRODUCTION GENERALE 7
CHAPITRE I 9
A- L’ORGANISME D’ACCUEIL 10
1- Présentation 10
2- Organigramme 1...
2
1- Diagramme de cas d’utilisation 24
1-1. Diagramme de package 24
1-2. Diagramme de cas d’utilisation 25
1-3. Descriptio...
3
CHAPITRE IV 61
O DEPLOIEMENT 62
1- Diagramme de déploiement 62
2- Présentation des exemples d’interfaces 63
CONCLUSION 6...
4
Liste des Acronymes
ANRT Agence nationale de réglementation des télécommunications
ASP Active Server Pages
DAL Data Acce...
5
Liste des Figures
Figure 1: Organigramme de ANRT ..........................................................................
6
Liste des Tableaux
Tableau 1 : Comparaison des cycles de vie d’un logiciel 17
Tableau 2 : Description textuelle des cas ...
7
Introduction Générale
Devant le fossé numérique entre les pays du nord et ceux du Sud, le gouvernement marocain
œuvre po...
8
Le présent rapport est subdivisé en quatre chapitres. Dans le premier, nous situons le projet
dans son contexte général,...
9
Chapitre I
Contexte général
Dans le présent chapitre, le projet de fin d’études sera placé dans son contexte général à
s...
10
A- L’organisme d’accueil
1- Présentation
L'agence Nationale de Réglementation des Télécommunications (ANRT) est l’établ...
11
3- Mission
L’ANRT a pour mission de participer à la préparation des actes législatifs et réglementaires
régissant le se...
12
838 établissements sont équipés en salle multimédia (SMM) et de valise multimédia (VMM)
avec connexion Internet.
Deuxiè...
13
B- Présentation de la problématique
Actuellement, l’introduction des Technologies de l’Information et de la Communicati...
14
 La réalisation d’une application web pour les inspecteurs, destinée à la collecte des
données sous forme d’un formula...
15
Cette étape consiste à définir les objectifs du projet et son inscription dans une stratégie globale.
 Analyse des bes...
16
Le tableau suivant décrit les quatre 4 modèles cités ci-dessus en les comparant selon les
critères ci-après :
o Forces
...
17
- La conception ne doit
pas forcément être
terminée
- Les utilisateurs finaux
sont intimement
associés à toutes les
éta...
18
méthodologie de conception et de développement. Ci-dessous, le modèle du cycle de vie en
cascade :
Figure 3 : Modèle du...
19
Conclusion
Ce premier chapitre a permis de présenter le contexte général du projet, notamment un bref
descriptif de l’o...
20
Chapitre II
Analyse & Conception
Le cycle de vie en cascade est organisé suivant six phases dont la première est la pha...
21
A- Collecte et analyse des besoins
Les besoins fonctionnels ou les cas d’utilisations peuvent être définis comme suit :...
22
 La confidentialité : nous devons garantir une sécurité optimale. Ainsi, les droits d’accès
au système doivent être bi...
23
C- Méthodologie de conception
UML est idéal pour :
Concevoir et déployer une architecture logiciel développée dans un l...
24
D- Les diagrammes de conception
1- Diagramme de cas d’utilisation
Dans cette section nous présentons les besoins de not...
25
1-2. Diagramme de cas d’utilisation
Un cas d’utilisation permet de mettre en évidence les relations fonctionnelles entr...
26
S’authentifier
Cas d’utilisation S’authentifier
Acteurs Utilisateurs
Pré-condition L’utilisateur doit être créé dans la...
27
Scénario nominal 1-demande l’affichage de la liste de : formulaire, catégorie profile,
question, utilisateur, choix.
2-...
28
Post-condition Les statistiques sont affichées
Scénario nominal 1-l'utilisateur demande l’affichage des statistiques.
2...
29
Post-condition Le fichier a été bien enregistré dans la machine de l’utilisateur
Scénario nominal 1-L’inspecteur choisi...
30
2-2. Diagramme d’activités de cas d’utilisation « gestion des comptes »
Le diagramme d’activité suivant représente les ...
31
2-4. Diagramme d’activités de cas d’utilisation « remplissage de formulaire »
Le diagramme d’activité suivant montre le...
32
3-1. Diagramme de séquence du cas d’utilisation « s’authentifier »
Le diagramme de séquence suivant symbolise les échan...
33
3-2. Diagramme de séquence du cas d’utilisation « Gestion des comptes »
Les échanges représentés sur le diagramme en de...
34
3-3. Diagramme de séquence du cas d’utilisation « remplissage formulaire »
Sur la figure suivante se présentes les diff...
35
3-4. Diagramme de séquence du cas d’utilisation « modifier formulaire »
Sur le diagramme de séquence suivant se présent...
36
3-5. Diagramme de séquence du cas d’utilisation « affichage reporting »
Le décideur choisit la variable de base pour dé...
37
4-1. Classe utilisateur
Figure 18 : Diagramme de classe « Utilisateur »
class System
Utilisateur
# age: int
# cin: Stri...
38
4-2. Classe Rapport
Figure 19 : Diagramme de classe « Rapport »
class System
Rapport
- date: Date
- id: int
- valide: b...
39
4-3. Classe Etablissement
Figure 20 : Diagramme de classe « Etablissement »
class System
Rapport
- date: Date
- id: int...
40
4-4. Diagramme de classe global
Figure 21 : Diagramme de classe global
41
4-5. Dictionnaire de données :
Classe Mnémonique Libellé Type Contraint
es
Utilisateur Id Identifiant Bigint Clé
primai...
42
Nouvelle_delegati
on
Délégation varchar(255)
Type Type varchar(255)
Rapport Id Identifiant Int Clé
primaire
Date Date v...
43
ie7_1 Nombre de SMM mises à niveau
GENIE 1
Int
ie7_2 Nombre de SMM mises à niveau
GENIE 2
Int
ie8_1 Nombre de licences ...
44
rn4_tech_sc_ing Nombre d'inspecteurs à initier à
l'usage des RN acquises dans le
cadre du programme GENIE
(sience d’ing...
45
rn5_secondaire Nombre de Prof. à encadrer à
l’usage des RN(Secondaire)
Int
rn6 Nombre de contenus numériques
déposés po...
46
if16 Création des Centres d’Examen
Certificatif IT ACADEMY
Int
if17 Renseigner la base de données
pour le suivi des For...
47
du8 Organisation de la compétition
du meilleur établissement
scolaire qui exploite et développe
les TIC
Int
du9 Organis...
48
gérés ou contrôlés. Cette situation peut entraîner des risques d’usurpation d’identité et d’accès
à des fonctionnalités...
49
Conclusion
Ce chapitre a donné l’aspect conceptuel de notre application, où on a détaillé l'ensemble des
diagrammes de ...
50
Chapitre III
Etude technique
Ce chapitre sera consacré à la présentation des langages et des outils de programmation
ut...
51
o Contexte technologique
1- Définition d’une application web
Une application web est une application qui s’exécute par ...
52
Comme le montre la figure, notre architecture se compose de trois couches :
- La couche de données : qui fait l’interfa...
53
Le contrôleur : il pilote l’application. Il prend en charge la gestion des événements pour
mettre à jour la vue ou le m...
54
Après le choix de la plateforme .NET, nous allons travailler avec l’environnement
d’exécution d’applications et de serv...
55
Figure 25 : L’architecture de l’Asp.NET MVC
Après la sélection de la plateforme.NET notre choix s’est alors orienté ver...
56
3-5. JQuery
JQuery est une bibliothèque JavaScript facilitant l'écriture de scripts, publiée par John
RESIG en Janvier ...
57
Microsoft Visual Studio est un environnement de développement intégré (IDE) conçu
comme son nom l’indique, par Microsof...
58
En quelques mots, le fonctionnement d’ASP.NET Identity est lié de très près au
fonctionnement d’Entity Framework. Les f...
59
3-12.Système de gestion des versions
TortoiseSVN est un client opensource gratuit pour le système de contrôle de versio...
60
Conclusion
Ce chapitre avait comme but de présenter l’ensemble des technologies et d’environnements
dans lesquels notre...
61
Chapitre IV
Mise en œuvre
Dans ce chapitre, nous allons présenter le diagramme de déploiement de notre système et
l’ens...
62
o Déploiement
1- Diagramme de déploiement
Le diagramme de déploiement permet de représenter la répartition géographique...
63
2- Présentation des exemples d’interfaces
Dans ce paragraphe, nous présentons quelques interfaces de l’application réal...
64
Interface de la liste des utilisateurs permet de voir les différents utilisateurs et aussi effectuer
plusieurs actions ...
65
Cette interface permet à l’administrateur de valider les rapports émis par les inspecteurs, une
fois un rapport validé,...
66
Après avoir sélectionner une établissement un ensemble des zones de texte numériques
s’affichent pour que l’inspecteur ...
67
Cette interface permet aux décideurs de sélectionner un établissement et générer des
statistiques soit scoring de chaqu...
68
Cette interface permet de sommer les indicateurs de chaque axe et les afficher dans un chart,
elle permet aussi de l’ex...
69
Conclusion
Dans ce chapitre, nous avons traité les détails de la réalisation de notre application “Système
de suivi et ...
Rapport PFE TICE Final
Rapport PFE TICE Final
Rapport PFE TICE Final
Rapport PFE TICE Final
Prochain SlideShare
Chargement dans…5
×

Rapport PFE TICE Final

60 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
60
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Rapport PFE TICE Final

  1. 1. Dédicaces Nous dédions humblement ce mémoire: A ceux qui nous ont toujours donné de leurs personnes, témoigné de leurs confiances et cela de multiples manières, qui nous ont toujours soutenu dans tout ce que nous avons entrepris, ceux qui se sont dévoués et sacrifiés pour nous, ceux qui n’ont jamais cessé de nous encourager et de nous aiguiller quand il s’agissait de décisions critiques ; Nos chers et adorés PARENTS. A Amr et Zaynab qui n’ont jamais hésité à nous témoigner leurs disponibilités, à nous rendre service, à nous écouter et à nous appuyer fraternellement, Dédicace spéciale à nos AMIS, qui se sont toujours montrés présents, attentifs et serviables quelles que soient les circonstances, nous leur en sommes reconnaissants. La liste est assez longue mais ce mémoire est dédié à toute personne qui nous connaît nous aime, trouvez ici l'expression de notre profonde gratitude.
  2. 2. Remerciements Ce travail est le labeur de quatre mois et n’aurait probablement pas vu le jour sans le soutien d’un grand nombre de personnes que nous tenons vivement à remercier. Nous commencerons tout d’abord par remercier Monsieur Mustapha AMGHAR, notre encadrant, pour l’aide et le temps qu’il a bien voulu nous consacrer et sans lui nous n’aurons pas pu réaliser ce mémoire. Nos remerciements vont également à Monsieur Mohamed HASSI RAHOU directeur Audit Interne de ANRT de nous avoir accordé la chance de réaliser un stage au sein de l’entité. Nous tenons à remercier du fond de notre cœur l'ensemble du personnel administratif pour leur soutien et leur disponibilité. Nous exprimons notre gratitude à nos PARENTS, nos SŒURS, nos FRERES et nos FAMILLES qui nous ont toujours soutenus et encouragés tout a long de nos études. Nous adressons nos plus sincères remerciements à tous nos AMIS qui ont rendu ce travail possible par leurs conseils, remarques et encouragements.
  3. 3. Abstract This paper presents the work’s result of our final-year study project, which was carried out as part of our internship within the E-Education Project management at ANRT. The aim of this project called "The GENIE program" is the generalization of the use of information technology and communication (ICT) in education. A preliminary study of the existing with the partners has helped us to identify the flaws and weaknesses of the old tracking system, including the management of information on the use of ICT in schools with handwritten forms. The risks this method will lead to in terms of the diffi- culties of distribution and data extraction. The need for process automation and generation of dashboards also emerged to facilitate information management and decision making. After a detailed study, the functional and non-functional specifications were captured and dur- ing the requirements analysis phase we were able to write a set of specifications which explains the functionalities of our system:  Management of information on the use of ICT in schools.  Visualization and statistical consultation. After validation of this set of specifications we designed a solution before using it on .NET platform using architecture Asp.Net MVC5 and SSRS for calculating indicators and the gener- ating reports. The result of our work is a monitoring system for both managers of the application, ANRT personals and Ministry of Education inspectors. This solution should guarantee a flexible and scalable exploitation in order to help inspectors of the Ministry of Education to make right decisions and to contribute in the evaluation and development of ICT in Moroccan schools. The present report outlines the steps that led to the realization of the work assigned. Keywords: Plateform.Net, ICT, IT development, Engineering Program.
  4. 4. Résumé Ce rapport constitue le résultat du travail réalisé dans le cadre du projet de fin d’études effectué au sein de l’Agence Nationale de Réglementation des Télécommunications (ANRT) à Rabat. Ce projet rentre dans l’application des Hautes Instructions Royales et dispositions de la charte Nationale de l’éducation et de formation que le Premier Ministre a mis en place, en septembre 2004, une équipe de travail composée des représentants du Ministère chargé de l’Education Nationale et ceux de l’ANRT, afin de traduire une stratégie volontariste, en quatre axes, visant l’intégration rapide et efficace des outils TIC dans l’enseignement, s'articule autour de programme GENIE : La Généralisation des TIC dans l’Enseignement. Pendant la phase d’étude, les spécifications fonctionnelles et non fonctionnelles ont été capturées. Au cours de la phase d’analyse des besoins nous avons pu rédiger un cahier de charges qui explicite les fonctionnalités de notre système, A savoir :  Gestion des informations sur l’usage des TIC dans les établissements.  Visualisation et consultation des statistiques. Après la validation de ce cahier de charges nous avons conçu une solution avant de la projeter sur la plateforme .NET en utilisant l’architecture MVC5 et le SSRS pour le calcul d’indicateurs et la génération des statistiques. Le résultat final de notre travail est un système de suivi destiné aux responsables de l’ANRT et aux inspecteurs du Ministère d’éducation nationale. Cette solution doit garantir une exploitation flexible et évolutive. Elle doit permettre d’obtenir des indicateurs d’aide à la décision susceptibles de contribuer à l’évaluation et l’évolution d’usage des TIC dans l’enseignement au Maroc. Mots clés : GENIE, TIC, plateAsp.NET, MVC5, SSRS, architecture,
  5. 5. 1 Table des Matières INTRODUCTION GENERALE 7 CHAPITRE I 9 A- L’ORGANISME D’ACCUEIL 10 1- Présentation 10 2- Organigramme 10 3- Mission 11 4- Programme GENIE 11 B- PRESENTATION DE LA PROBLEMATIQUE 13 C- ETUDE DE L’EXISTANT 13 D- OBJECTIFS 14 E- STRATEGIE DE MISE EN ŒUVRE 14 o Conduite du projet 14 1- Cycle de vie du système 14 2- Comparaison entre les cycles de vie d’un logiciel 15 3- Planification du projet 18 CONCLUSION 19 CHAPITRE II 20 A- COLLECTE ET ANALYSE DES BESOINS 21 B- ARCHITECTURE FONCTIONNELLE DU SYSTEME 22 C- METHODOLOGIE DE CONCEPTION 23 o La démarche adoptée 23 D- LES DIAGRAMMES DE CONCEPTION 24
  6. 6. 2 1- Diagramme de cas d’utilisation 24 1-1. Diagramme de package 24 1-2. Diagramme de cas d’utilisation 25 1-3. Description textuelle des cas d’utilisation 25 2- Diagramme d’activités 29 2-1. Diagramme d’activités de cas d’utilisation « s’identifier » 29 2-2. Diagramme d’activités de cas d’utilisation « gestion des comptes » 30 2-3. Diagramme d’activités de cas d’utilisation « gestion des formulaires » 30 2-4. Diagramme d’activités de cas d’utilisation « remplissage de formulaire » 31 3- Diagramme de séquence 31 3-1. Diagramme de séquence du cas d’utilisation « s’authentifier » 32 3-2. Diagramme de séquence du cas d’utilisation « Gestion des comptes » 33 3-3. Diagramme de séquence du cas d’utilisation « remplissage formulaire » 34 3-4. Diagramme de séquence du cas d’utilisation « modifier formulaire » 35 3-5. Diagramme de séquence du cas d’utilisation « affichage reporting » 36 4- Diagramme de classe 36 4-1. Classe utilisateur 37 4-2. Classe Rapport 38 4-3. Classe Etablissement 39 4-4. Diagramme de classe global 40 4-5. Dictionnaire de données : 41 E- ASPECT SECURITE 47 CONCLUSION 49 CHAPITRE III 50 O CONTEXTE TECHNOLOGIQUE 51 1- Définition d’une application web 51 2- Architecture technique 51 3- Choix techniques 52 3-1. L’architecture MVC 52 3-2. La Plateforme .NET 53 3-3. Le langage C# 55 3-4. Java Script 55 3-5. JQuery 56 3-6. Entity Framework 56 3-7. Environnement de développement intégré 56 3-8. Système de gestion de base de données 57 3-9. Librairie microsoft asp.net identity 57 3-10. Système de gestion des Rapports 58 3-11. Serveur IIS 58 3-12. Système de gestion des versions 59 3-13. La bibliothèque Log4Net 59 CONCLUSION 60
  7. 7. 3 CHAPITRE IV 61 O DEPLOIEMENT 62 1- Diagramme de déploiement 62 2- Présentation des exemples d’interfaces 63 CONCLUSION 69 CONCLUSION GENERALE 70 BIBLIOGRAPHIE 71 WEBOGRAPHIE 71
  8. 8. 4 Liste des Acronymes ANRT Agence nationale de réglementation des télécommunications ASP Active Server Pages DAL Data Access Layer GENIE Généralisation des TIC dans l’enseignement IIS Internet Information Services MVC Modèle-vue-contrôleur SI Système d’information SQL Langage de requête structurée SSRS SQL Server Reporting Services TIC Les Technologies de L’information et de la Communication. TICE Les Technologies de L’information et de la Communication dans l’Education UML Langage de modélisation unifié UNESCO United Nations Educational, Scientific and Cultural Organization VB Visual basic
  9. 9. 5 Liste des Figures Figure 1: Organigramme de ANRT ...................................................................................................... 10 Figure 2: Organigramme de la direction du programme GENIE ......................................................... 12 Figure 3 : Modèle du cycle de vie en cascade....................................................................................... 18 Figure 4 : Planification prévisionnelle du projet ................................................................................... 18 Figure 5 : Architecture fonctionnelle de la gestion et pilotage des enquêtes ........................................ 22 Figure 6 : Les diagrammes de conception............................................................................................. 23 Figure 7 : Diagramme de package......................................................................................................... 24 Figure 8 : Diagramme de cas d’utilisation ............................................................................................ 25 Figure 9 : Diagramme d’activités de cas d’utilisation « s’identifier » .................................................. 29 Figure 10 : Diagramme d’activités de cas d’utilisation « gestion des comptes ».................................. 30 Figure 11 : Diagramme d’activités de cas d’utilisation « gestion des formulaires »............................. 30 Figure 12 : Diagramme d’activités de cas d’utilisation « remplissage de formulaire » ........................ 31 Figure 13 : Diagramme de séquence du cas d’utilisation « s’authentifier ».......................................... 32 Figure 14 : Diagramme de séquence du cas d’utilisation « Gestion des comptes ».............................. 33 Figure 15 : Diagramme de séquence du cas d’utilisation « remplissage formulaire ».......................... 34 Figure 16 : Diagramme de séquence du cas d’utilisation « modifier formulaire » ............................... 35 Figure 17 : Diagramme de séquence du cas d’utilisation « affichage reporting » ................................ 36 Figure 18 : Diagramme de classe « Utilisateur »................................................................................... 37 Figure 19 : Diagramme de classe « Rapport » ...................................................................................... 38 Figure 20 : Diagramme de classe « Etablissement »............................................................................. 39 Figure 21 : Diagramme de classe global ............................................................................................... 40 Figure 22 : L’architecture matérielle du système .................................................................................. 51 Figure 23 : Diagramme architecture MVC............................................................................................ 52 Figure 24 : L’architecture de la plateforme .NET ................................................................................. 54 Figure 25 : L’architecture de l’Asp.NET MVC .................................................................................... 55 Figure 26 : Les choix techniques........................................................................................................... 59 Figure 27 : Diagramme de déploiement ................................................................................................ 62 Figure 28 : Authentification .................................................................................................................. 63 Figure 29 : Ajout d’utilisateur par administrateur................................................................................. 63 Figure 30 : Liste des utilisateurs............................................................................................................ 64 Figure 31 : Affectation établissement.................................................................................................... 64 Figure 32 : Validation de rapport .......................................................................................................... 65 Figure 33 : Liste des établissements affectés ........................................................................................ 65 Figure 34 : Ajout un rapport.................................................................................................................. 66 Figure 35 : Liste des rapports................................................................................................................ 66 Figure 36 : choix scoring ou variation pour des rapports...................................................................... 67 Figure 37 : affichage des statistiques..................................................................................................... 67 Figure 38 : affichage Scoring Axe......................................................................................................... 68 Figure 39 : Consultation des fichiers logs ............................................................................................. 68
  10. 10. 6 Liste des Tableaux Tableau 1 : Comparaison des cycles de vie d’un logiciel 17 Tableau 2 : Description textuelle des cas d’utilisation « authentifier » 26 Tableau 3 : Description textuelle des cas d’utilisation « Remplir le formulaire » 26 Tableau 4 : Description textuelle des cas d’utilisation « Consulter » 27 Tableau 5 : Description textuelle des cas d’utilisation « Ajouter un rapport » 27 Tableau 6 : Description textuelle des cas d’utilisation « Modifier un rapport » 27 Tableau 7 : Description textuelle des cas d’utilisation « Consulter les statistiques » 28 Tableau 8 : Description textuelle des cas d’utilisation « Lister les rapports » 28 Tableau 9 : Description textuelle des cas d’utilisation « Ajout utilisateur » 28 Tableau 10 : Description textuelle des cas d’utilisation « Exporter les statistiques » 29 Tableau 11 : Dictionnaire de données 47
  11. 11. 7 Introduction Générale Devant le fossé numérique entre les pays du nord et ceux du Sud, le gouvernement marocain œuvre pour la préparation d'une plateforme, en menant une nouvelle politique ayant pour objectifs stratégiques l'exécution d'un réseau intergouvernemental, l'appui d'une économie basée sur le savoir et l'innovation au Maroc ; le développement des ressources humaines et infrastructures pour l'utilisation des Technologies de l'Information et de la Communication. Dans le cadre de la stratégie du programme GENIE que le Gouvernement a adopté en mars 2005 ayant pour objectif la généralisation des technologies de l’information et de la communication dans l’enseignement public au Maroc. Sa mise en œuvre au niveau de l’enseignement primaire et secondaire devrait permettre de garantir l’accès aux moyens et services TIC a plus 22% de la population marocaine, avec des contenus approprient, à travers tout le Royaume. Lancé début 2006 et révisé en 2009, le programme GENIE, qui concerne tous les établissements scolaires du Maroc est une désinence opérationnelle de la stratégie nationale de généralisation des technologies de l’information et de la communication dans l’éducation. Le programme GENIE repose sur 4 Axe principaux : Infrastructure Formation des enseignants Ressources numériques Développement des usages et pilotages Une telle action ne peut se faire sans la réalisation, à l’échelle nationale, de collectes de données normalisées, qui permettront aux décideurs et au comité de pilotage de suivre l’accomplissement des objectifs nationaux et de pouvoir, en outre, comparer les résultats à ceux référencés par l’UNESCO et prendre les décisions adéquates « concept Business Intelligence au programme GENIE ». C’est dans ce cadre que s’inscrit notre projet de fin d’études effectué au sein de l’entité responsable du projet E-Education à l’ANRT afin de répondre aux besoins des clients. Il s’agit donc de mettre en place un système dont les fonctions principales sont : Assurer le contrôle et le suivi d’usage des TIC dans les établissements au niveau national grâce à des formulaires qui seront remplis par des inspecteurs et des données qui seront stockées dans une base de données unique d’une manière structurée. Faciliter la prise de décisions en prévenant un affichage multicritère des statistiques par le calcul des indicateurs bien précis et présenter les statistiques à l’aide des chartes graphiques.
  12. 12. 8 Le présent rapport est subdivisé en quatre chapitres. Dans le premier, nous situons le projet dans son contexte général, ensuite nous présentons l’organisme d’accueil et nous exposons la problématique et les objectifs du projet. De même, nous retracerons les étapes suivies pour la conduite du projet. Le deuxième chapitre viendra, par la suite, détailler explicitement la phase de l’analyse et de conception. Quant au troisième chapitre, il portera sur l’étude technique effectuée pour la réalisation du projet. Ensuite, le quatrième chapitre traitera la mise en œuvre. Finalement, nous terminerons par une conclusion générale qui va récapituler le travail élaboré et présentant les perspectives de ce travail.
  13. 13. 9 Chapitre I Contexte général Dans le présent chapitre, le projet de fin d’études sera placé dans son contexte général à savoir, l’organisme d’accueil. Ensuite, nous allons parler du projet en présentant les besoins qui ont poussé à réaliser cette application ainsi que sa conduite en présentant ses objectifs pour enfin terminer avec la planification du projet.
  14. 14. 10 A- L’organisme d’accueil 1- Présentation L'agence Nationale de Réglementation des Télécommunications (ANRT) est l’établissement public chargé de la régulation et de la réglementation du secteur des télécommunications. L’Agence est instituée auprès du Chef du Gouvernement et elle est dotée de la personnalité morale et de l'autonomie financière. L’ANRT a été créée en février 1998, en application de la loi n° 24-96, relative à la Poste et aux Télécommunications, qui a fixé les contours généraux de la réorganisation du secteur. En vertu de la loi n° 24-96 telle que modifiée et complétée par la loi n° 55-01 de 2004. 1 2- Organigramme Présidée par le directeur général, l’agence nationale de réglementation des télécommunications est organisée de la manière suivante : Figure 1: Organigramme de ANRT 2 Notre projet de fin d’études s’est déroulé au niveau de l’entité responsable du projet E- Education comme le montre la figure 1. 1 Source : http://www.anrt.net.ma/lagence/presentation 2 Source : http://www.anrt.ma/lagence/orga nisation/organigramme
  15. 15. 11 3- Mission L’ANRT a pour mission de participer à la préparation des actes législatifs et réglementaires régissant le secteur des télécommunications. L’Agence dispose des attributions nécessaires pour élaborer de sa propre initiative ou à la demande de l'autorité gouvernementale compétente, les propositions visant à adapter le cadre juridique, économique et sécuritaire dans lequel s'exercent les activités de télécommunications, l’agence a été chargée notamment : Dans le cadre de sa mission de réglementation du secteur, de préparer les projets de lois, de décrets et d'arrêtés ministériels relatifs au régime juridique des activités des différents opérateurs intervenant dans le secteur des télécommunications. Pour ce faire, l'Agence est investie de pouvoirs de régulation juridique, technique et économique. - Le pouvoir de régulation juridique Appuyant le dynamisme d’un marché concurrentiel, l’ANRT, par son pouvoir de régulation juridique permet aux acteurs du secteur de mieux concrétiser leurs objectifs, en levant les éventuelles entraves à la croissance du secteur, ou encore, en imposant des dispositions pour le bien commun. - Le pouvoir de régulation technique Le pouvoir de régulation technique confère à l’ANRT la charge de l’élaboration de normes, et du contrôle de l’application celles-ci. - Le pouvoir de régulation économique Pour garantir les conditions d’une concurrence saine et loyale, favorables à un développement durable du secteur des télécommunications, l’Agence est investie du pouvoir de régulation économique, lui permettant d'intervenir sur le marché en cas de constatation d’abus. Pour assurer la réglementation économique du secteur.3 4- Programme GENIE Le Programme GENIE entre dans le cadre d’une convention faite entre le Ministère de l’éducation national, sise à Avenue Anasr, Bab Rouah, Rabat 10.000, représenté par Monsieur Ahmed AKHCHICHINE et l’ANRT, sise à Centre d’Affaires, Bd. Ar-Riad, Hay Ryad, B.P. 2939, Rabat 10.100, créée par la Loi n°24-96, telle que modifiée et complétée, et représentée par M. Azdine EL MOUNTASSIR BILLAH, Directeur Général. Le programme GENIE au cœur du chantier de réforme du système éducatif, et ce, en parfaite harmonie avec le programme d’urgence de réforme de l’enseignement, à travers une meilleure implication des cadres administratifs, enseignants et élèves et un suivi permanent des académies régionales de l’éducation et de la formation. Côté infrastructure, 87% des établissements scolaires sont désormais équipés d’un environnement multimédia de base, avec un budget qui a atteint la bagatelle de 635 MDH : 2 3 Source : http://www.anrt.net.ma/reglementation/presentation
  16. 16. 12 838 établissements sont équipés en salle multimédia (SMM) et de valise multimédia (VMM) avec connexion Internet. Deuxième axe, la formation. 70% du programme de la feuille de route ont été réalisés, soit 147 277 personnes qui ont été formées sur les 209 702 prévues au départ, avec un budget de 116,5 MDH. La formation a touché enseignants, inspecteurs et directeurs d’établissements. Toujours au volet formation, 148 centres de formation ont été créés dans toutes les académies, délégations et centres de formation initiale. Axe des ressources numériques, est une étape majeure, de ce programme GENIE depuis son lancement. Des matières format numérique sont mises à la disposition des enseignants et des élèves. Des supports qui permettent aux élèves de sortir de l’abstraction des cours pour accéder à des démonstrations réelles, avec vidéo, animation et exercice d’entraînement à l’appui. Le développement de l’infrastructure informatique et de la formation est accompagné, en parallèle, d’un développement des usages (ateliers de proximité, distribution de mallette d’information TICE et création d’un Observatoire national des usages de ces dernières), et d’un déploiement d’une équipe de pilotage au niveau central et local. 4 Ci-dessous se présente l’organigramme de la direction du programme Génie : Figure 2: Organigramme de la direction du programme GENIE 5 4 Source : BILAN DU PROGRAMME GENIE 2006-2013 et perspectives 2016-2021 5 Source : PROGRAMME GENIE 2006-2013 Expertise externe ANRT Niveau central MEN Comité de pilotage Présidé par le chef de gouvernement Secretariat général du MEN Direction du Programme GENIE
  17. 17. 13 B- Présentation de la problématique Actuellement, l’introduction des Technologies de l’Information et de la Communication (TIC) et leur intégration dans l’enseignement au Maroc par la direction du Programme GENIE atteignent leur dernière phase, ce qui nécessite le suivi du développement des usages de ces technologies au sein des établissements publics au Maroc. Une telle action ne peut se faire sans la réalisation de collectes de données normalisées, qui permettront aux décideurs et comité de pilotage de suivre l’accomplissement des objectifs nationaux et de pouvoir, en outre, comparer les résultats à ceux référencés par l’UNESCO et prendre les décisions adéquates. Pour répondre aux objectifs cités ci-dessus, nous serons amenées à mettre en place une « application web » dont les fonctions principales sont :  Assurer le control et le suivi de l’usage des TIC dans les établissements au niveau national ;  Faciliter la prise de décisions en prévenant un affichage multicritère des statistiques. C- Etude de l’existant En 2012, une enquête a été menée concernant l’intégration des TIC dans l’enseignement public. L’enquête se basait sur la collecte des informations à travers le remplissage des formulaires imprimés sur papiers et distribués dans les établissements publics du pays dans le but de réaliser des statistiques en se basant sur ces informations. Les types des formulaires qu’on utilisait sont les suivants : Formulaire pour les directeurs, formulaire pour les inspecteurs et un pour les enseignants. Dans notre cas nous mettons l'accent sur le formulaire dédies au inspecteurs. Chaque délégation collecte les formulaires remplis des établissements rattachés à cette dernière et procède à la saisie des données dont ils auront besoin pour réaliser les statistiques sur Excel. Cette méthode gaspillait énormément de temps et de ressources. Le traitement des informations et la déduction des décisions étaient également une tâche fastidieuse. Pour cela l’organisme a décidé de :  Informatiser la saisie des informations des formulaires pour faciliter la collecte des données et pour gagner plus de temps ;  Faire les statistiques et réaliser des rapports d’analyse de données ou des graphes ce qui facilitera la prise de décision. Pour résoudre ce problème nous avons opté pour :
  18. 18. 14  La réalisation d’une application web pour les inspecteurs, destinée à la collecte des données sous forme d’un formulaire(rapport) ;  Traiter les données fournies dans le but de réaliser des statistiques ;  Afficher le résultat des statistiques au comité décideur pour faciliter la prise de décision. D- Objectifs L’objectif majeur de notre projet est de réaliser une application web qui va faciliter le travail pour les inspecteurs qui inspectent les quatre axes du programme GENIE dans les établissements. Notre application gérera les données des formulaires saisies par les inspecteurs, traitera, analysera les données et finalement affichera le résultat de l’analyse sous forme de rapports ou graphes aux décideurs pour leur faciliter la prise de décision. E- Stratégie de mise en œuvre o Conduite du projet Après la définition du contexte et de la problématique de notre projet ainsi que l’objectif assigné, nous abordons dans cette partie la démarche adoptée pour la résolution des problèmes évoqués afin d’atteindre l’objectif suscité de notre système, nous avons adopté une démarche pour bien mener notre projet et structurer son étude. 1- Cycle de vie du système Le « cycle de vie d'un logiciel » désigne toutes les étapes du développement d'un logiciel, de sa conception à sa disparition. L'objectif d'un tel découpage est de permettre de définir des jalons intermédiaires permettant la validation du développement logiciel, c'est-à-dire la conformité du logiciel avec les besoins exprimés, et la vérification du processus de développement, c'est-à-dire l'adéquation des méthodes mises en œuvre. L'origine de ce découpage provient du constat que les erreurs ont un coût d'autant plus élevé qu'elles sont détectées tardivement dans le processus de réalisation. Le cycle de vie permet de détecter les erreurs au plus tôt et ainsi de maîtriser la qualité du logiciel, les délais de sa réalisation et les coûts associés. Le cycle de vie du logiciel comprend généralement au minimum les étapes suivantes :  Définition des objectives :
  19. 19. 15 Cette étape consiste à définir les objectifs du projet et son inscription dans une stratégie globale.  Analyse des besoins et faisabilité : C’est-à-dire l’expression, le recueil et la formalisation des besoins du demandeur (le client) et de l’ensemble des contraintes, puis l’estimation de la faisabilité de ces besoins.  Spécifications ou conception générale : Il s’agit de l’élaboration des spécifications de l’architecture générale du logiciel.  Conception détaillée : Cette étape consiste à définir précisément chaque sous-ensemble du logiciel.  Codage (Implémentation ou programmation) : C’est la traduction dans un langage de programmation des fonctionnalités définies lors de la phase de conception.  Tests unitaires : Ils permettent de vérifier individuellement que chaque sous-ensemble du logiciel est implémenté conformément aux spécifications.  Intégration : L’objectif est de s’assurer de l’interfaçage des différents éléments (modules) du logiciel. Elle fait l’objet de tests d’intégration consignés dans un document.  Qualification : C’est-à-dire la vérification de la conformité du logiciel aux spécifications initiales.  Documentation : Elle vise à produire les informations nécessaires pour l’utilisation du logiciel et pour des développements ultérieurs.  Mise en production : C’est le déploiement sur site du logiciel.  Maintenance : Elle comprend toutes les actions correctives (maintenance corrective) et évolutives (Maintenance évolutive) sur le logiciel. La séquence et la présence de chacune de ces activités dans le cycle de vie dépend du choix d’un modèle de cycle de vie entre le client et l’équipe de développement. Ils existent plusieurs modèles de cycles de vie d’un logiciel tels que : Modèle en cascade, en V, en spiral, par incrément, etc. 2- Comparaison entre les cycles de vie d’un logiciel
  20. 20. 16 Le tableau suivant décrit les quatre 4 modèles cités ci-dessus en les comparant selon les critères ci-après : o Forces o Faiblesses o A quel moment utiliser tel ou tel modèle de cycle de vie Cycle de vie Forces Faiblesses Utilisation CASCADE - Facile à comprendre et à utiliser - Adapté pour une équipe inexpérimentée - Les limites de chaque étape sont visibles - Facilite un management du projet - La définition des besoins est non- évolutive - La qualité prime sur le coût - Tous les besoins doivent être bien spécifiés au départ - Donne une fausse impression de l’avancée des travaux - Pas d’interaction entre les phases de développement - L’intégration n’a lieu qu’à la fin du cycle - Le client peut se retrouver non satisfait - Pas de retour en arrière d’une phase à l’autre - La phase de spécification a été très bien faite - La définition du produit est stable - Il s’agit d’une nouvelle version d’un produit existant - L’implantation d’un produit existant sur une nouvelle plate- forme - Une bonne maîtrise de la technologie EN V - Facile à utiliser - Les tests sont effectués à chaque étape - Le contrôle se fait progressivement à chaque étape - Les phases de validation sont prises en main très tôt dans le processus de développement - Une mauvaise prise en compte des évènements concurrents - Le processus n’est pas itératif - Une mauvaise prise en compte des changements de la spécification des besoins - Ne contient pas les activités d’analyses de risques - Les spécifications de besoins doivent être bien faites - La solution à développer et la technologie à utiliser doivent être parfaitement connues - Les changements doivent être faits avant l’analyse - Excellent pour les systèmes requérant une grande sûreté EN SPIRALE - Sans coût élevé, donne des indications sur les risques majeurs - Les fonctions critiques à haut risque sont développées en premier lieu - Le temps consacré à l’évaluation des risques est trop élevé pour des petits projets - Le temps mis à planifier, évaluer les risques, fixer les objectifs, les - Les coûts et l’évaluation des risques est important - Pour des projets à risque au moins moyennement élevé - Pour des projets à long terme dont les
  21. 21. 17 - La conception ne doit pas forcément être terminée - Les utilisateurs finaux sont intimement associés à toutes les étapes du développement - Le développement se fait en interaction avec les clients - L’évolution du coût de développement est sous contrôle - Les utilisateurs ont dès le départ une vue globale du système prototypes peut être excessif - Ce modèle est complexe - Une expertise en évaluation des risques est nécessaire - La spirale peut être infinie - les développeurs travaillent par intermittence - Il est difficile de définir les objectifs et les points de validation intermédiaires entre les différentes étapes financements peuvent varier - Les utilisateurs ne définissent pas clairement leurs besoins - La spécification des besoins est complexe - Il s’agit d’une nouvelle gamme de produits - Des changements significatifs peuvent intervenir à cause par exemple de l’évolution de la recherche ou de l’exploration PAR INCREMENT - Le client peut valider chaque étape du processus - Utilise la méthode Diviser Pour Régner - La délivrance du produit est rapide - Le coût de lancement du projet est moindre - Un produit exploitable peut être délivré à tout moment - Les clients obtiennent les fonctionnalités majeures du système très tôt - Le risque du changement des besoins est minimal - Développe les fonctions primordiales dès le départ - Requière une bonne planification et une bonne conception - Requière la définition complète des fonctionnalités du système pour une définition des différents incréments - Le coût total du développement du système n’est pas négligeable - Les différentes interfaces doivent être bien définies - Sur un projet utilisant de nouvelles technologies - Sur des projets ayant une durée de développement assez longue - Le besoin pour les développeurs de connaître dès le départ les fonctionnalités majeures - La plupart des fonctionnalités doivent être connues au départ mais certaines ne seront utilisées que plus tard - Les risques, le financement, la complexité du logiciel, l’élaboration ou les besoins pour les bénéfices maximum dès le départ Tableau 1 : Comparaison des cycles de vie d’un logiciel Pour bien conduire notre projet et nous assurer du bon déroulement des différentes phases, et puisque le besoin de notre client est clair depuis le départ du projet et il ne va pas être changé pendant les phases de développement, nous avons opté pour le modèle en cascade comme
  22. 22. 18 méthodologie de conception et de développement. Ci-dessous, le modèle du cycle de vie en cascade : Figure 3 : Modèle du cycle de vie en cascade Ce modèle ne comportait pas de possibilité de retour en arrière. Celle-ci a été rajoutée ultérieurement sur la base qu’une étape ne remet en cause que l’étape précédente. 3- Planification du projet Selon le cycle de vie décrit dans la section précédente, la planification est une étape préliminaire qui s’impose avant d’entamer tout projet informatique. Elle consiste à prévoir le déroulement du projet tout au long des phases constituant le cycle. Ainsi afin de bien mener notre projet, nous avons établi le diagramme de GANTT qui décrit les précisions concernant les différentes phases de projet Figure 4 : Planification prévisionnelle du projet
  23. 23. 19 Conclusion Ce premier chapitre a permis de présenter le contexte général du projet, notamment un bref descriptif de l’organisme d’accueil, la formulation de l’objectif du projet. Il a permis également l’annonce de la démarche adoptée pour la conduite du projet ainsi que son planning prévisionnel de réalisation. Le chapitre suivant présente l’analyse et la spécification des besoins fonctionnels et non fonctionnels de ce processus ainsi que l’architecture de notre projet.
  24. 24. 20 Chapitre II Analyse & Conception Le cycle de vie en cascade est organisé suivant six phases dont la première est la phase d’analyse et conception. Cette phase est la plus importante dans le cycle de développement cascade puisqu'elle influence directement la réussite des autres phases et par conséquence tout le projet. Cette phase fera donc l’objet de ce chapitre où nous commençons par la collecte des différents besoins et l’identification des rôles des utilisateurs, qui ont pour but d’expliquer le déroulement de notre application ainsi qu’assurer une bonne compréhension des besoins des utilisateurs.
  25. 25. 21 A- Collecte et analyse des besoins Les besoins fonctionnels ou les cas d’utilisations peuvent être définis comme suit : « Un cas d’utilisation (use case) représente un ensemble de séquences d’actions réalisées par le système et produisant un résultat observable intéressant pour un acteur particulier. » Les attributions des acteurs de l’application : Administrateur : s’authentifie à travers un login et un mot de passe, puis aura la possibilité d’ajouter un nouveau compte, supprimer ou modifier un compte existant ou activer ou désactiver tous les comptes. Inspecteur : introduit son login et mot de passe pour accéder au remplissage des données dans le rapport, puis enregistre les données. L’enregistrement peut se faire de manière partielle (si l’utilisateur ne remplit pas tous les champs du formulaire, seul les champs renseignés qui seront stockés dans la base de données. Une fois l’utilisateur se reconnecte, l’application lui affiche le formulaire avec les champs qu’il a déjà renseignés et qui ont été stockés dans la base de données. Ainsi, il n’a qu’à remplir les informations manquantes ou modifier les informations existantes). Décideur : se connecte à l’application à travers un login et un mot de passe. L’application lui affiche une interface contenant toutes les variables de base sur lesquelles la réalisation des statistiques doit se baser pour produire des rapports ou des graphes qui seront récupérés par l’application et affichés au comité décideur. Besoin fonctionnels : Les besoins fonctionnels représentent les principales fonctionnalités du système. Ces besoins proviennent généralement des utilisateurs du système. Cette application devra permettre :  L’Authentification : permet la connexion des diffèrent utilisateurs.  La Gestion des comptes : Cette partie permet l’ajout et la suppression des différents utilisateurs.  La saisie et l’enregistrement des données par les inspecteurs ;  L’affichage des rapports d’analyse de données. Besoin non fonctionnels Mis à part les besoins fondamentaux, notre futur système doit répondre aux critères suivants :  La performance : le système doit être avant tout performant c'est-à-dire à travers ses fonctionnalités, il doit répondre à toutes les exigences des utilisateurs d’une manière optimale.  La convivialité : notre système doit être facile à utiliser. En effet, les interfaces utilisateurs doivent être conviviales c'est-à-dire simples, ergonomiques et adaptées à l’utilisateur.
  26. 26. 22  La confidentialité : nous devons garantir une sécurité optimale. Ainsi, les droits d’accès au système doivent être bien attribués, afin d’assurer la sécurité des données.  Besoins de Mobilité : Notre application doit être caractérisée par sa mobilité, elle sera accessible depuis n’importe quel ordinateur connecté à internet, sans avoir besoin d’une installation. Elle sera accessible aussi depuis les mobiles et les tablettes. B- Architecture fonctionnelle du système Avant de se lancer dans la conception et le développement de tout système informatisé, il est important de préparer l’architecture de ce dernier. Le terme architecture est vaste puisqu’il y peut désigner l’architecture logique, l’architecture physique, architecture logicielle, etc. Dans ce paragraphe nous nous intéressons à l’architecture du processus qui décrit le traitement interne du système. Figure 5 : Architecture fonctionnelle de la gestion et pilotage des enquêtes Notre système de suivi se compose d’une première partie gérée par un administrateur pour faire la préparation initiale de l’environnement ainsi que la maintenance du système par l’ajout et l’édition des formulaires ainsi que la gestion des utilisateurs. Chaque utilisateur a un espace personnel protégé par un nom d’utilisateur et un mot de passe. Chaque inspecteur on lui infecte une ou plusieurs établissements puis viens la tache remplissage des formulaires. Ces questions sont regroupées dans des sections différentes (Infrastructure, Formation, Ressources Numériques, Développement des usages et Pilotages). Les réponses sont stockées dans une base de données centralisée après la validation des champs saisis. Ce qui va permettre aux décideurs et aux responsables d’extraire les données sous forme de statistiques. L’analyse et de ces résultats et leur comparaison avec les normes de L’Institut de statistique de l’UNESCO vont faciliter la prise de décisions à l’échelle nationale ainsi que régionale.
  27. 27. 23 C- Méthodologie de conception UML est idéal pour : Concevoir et déployer une architecture logiciel développée dans un langage objet (Java, C++, VB.net Pour modéliser les données (la couche d’accès aux données (DAL)) Pour modéliser le fonctionnement métier (le diagramme d'activité et de cas d'utilisation) qui sont des formalismes très anciens. o La démarche adoptée Nous adoptons UML comme langage de modélisation puisque nous allons utiliser le concept de l’orienter objet, à travers le Framework .NET qui est basé sur C#, pour développer l’application de suivi et d’évaluation d’usage des TIC. Ainsi, la méthodologie de conception adoptée se base sur le choix de diagrammes UML adéquats. Nous avons utilisé cinq diagrammes : diagramme de cas d’utilisation, diagramme d’activités, diagramme de séquence, diagramme de classes et le diagramme de déploiement. Le schéma suivant représente les diagrammes de conception qui seront utilisés : Figure 6 : Les diagrammes de conception
  28. 28. 24 D- Les diagrammes de conception 1- Diagramme de cas d’utilisation Dans cette section nous présentons les besoins de notre système de manière formelle. C'est- à-dire en utilisant le diagramme des cas d’utilisation du langage de modélisation UML. 1-1. Diagramme de package Avant de présenter les diagrammes de cas d’utilisation de notre système, dans ce paragraphe nous nous intéressons au diagramme de package en terme d’UML qui décrit l’ensemble des gestions effectuées. Figure 7 : Diagramme de package
  29. 29. 25 1-2. Diagramme de cas d’utilisation Un cas d’utilisation permet de mettre en évidence les relations fonctionnelles entre les acteurs et le système étudié. Nous présentons dans cette partie les diagrammes des cas d’utilisation des différentes parties de notre système. Figure 8 : Diagramme de cas d’utilisation 1-3. Description textuelle des cas d’utilisation Pour rendre notre diagramme des cas d’utilisation plus compréhensible et afin de décrire le comportement d’un système, les concepteurs d’UML proposent l’utilisation d’une technique nommée la description textuelle des cas d’utilisation.
  30. 30. 26 S’authentifier Cas d’utilisation S’authentifier Acteurs Utilisateurs Pré-condition L’utilisateur doit être créé dans la base de données et connaître ses identifiants. Post-condition L’utilisateur accède aux fonctionnalités de l’application. Scénario nominal 1. Le système affiche le formulaire d’authentification 2. L’utilisateur remplit le formulaire avec l’ensemble des informations nécessaires à son identification. (Nom d’utilisateur et le mot de passe). 3. Le système vérifie les informations saisies par l’utilisateur. Et renvoie vers la page d’accueil en affichant son profil. Scénario alternatif 3. a-1. L’utilisateur n’as pas saisie les bons identifiants. 3. a-.2. Le système renvoie un message d’erreur et signale à l’utilisateur de recommencer. 3a.-3. L’utilisateur n’existe pas dans la base de données. 3a-4. Le système invite l’utilisateur à s’authentifier. Tableau 2 : Description textuelle des cas d’utilisation « authentifier » Remplir le formulaire Cas d’utilisation Remplir le formulaire Acteurs Inspecteurs Pré-condition Authentification préalable Post-condition Les réponses s’enregistrent au niveau de la base de données. Scénario nominal 1-l’utilisateur demande le formulaire. 2-le système affiche le formulaire 3- l’utilisateur rempli les champs et valide 4-le système vérifie les données saisies (Format des zones de saisie et les champs obligatoires) 5-le système enregistre les nouvelles informations et affiche le message : Données sauvegardées avec succès. Scénario alternatif 4-a- l’utilisateur saisie des données manquantes (champs avec une étoile rouge après leur libellé (*).) 4-a-1-le système affiche un message d’erreur 4-a-2-reprise de l’étape 3 du scénario nominal Tableau 3 : Description textuelle des cas d’utilisation « Remplir le formulaire » Consulter Cas d’utilisation Consulter Acteurs Administrateurs, décideurs, inspecteurs Pré-condition Une authentification préalable. Post-condition La liste est affichée
  31. 31. 27 Scénario nominal 1-demande l’affichage de la liste de : formulaire, catégorie profile, question, utilisateur, choix. 2-le système affiche la liste sélectionnée. Scénario alternatif 2-a-aucun résultat 2-a-1-le système affiche un message de type « aucun résultat trouvé » Tableau 4 : Description textuelle des cas d’utilisation « Consulter » Ajouter un rapport Cas d’utilisation Ajouter un rapport Acteurs Inspecteurs Pré-condition Une authentification préalable. Post-condition Un rapport est ajouté Scénario nominal 1-le système affiche l’interface d’ajout 2- l’inspecteur rempli les champs obligatoires et valide. 3-le système vérifie les données saisies. 4-le système enregistre le nouveau rapport et affiche le message : Données sauvegardées avec succès. Scénario alternatif 3-a- L’inspecteur saisie des données manquantes. 3-a-1-le système affiche un message d’erreur 3-a-2-reprise de l’étape 2 du scénario nominal. Tableau 5 : Description textuelle des cas d’utilisation « Ajouter un rapport » Modifier un rapport Cas d’utilisation Modifier un rapport Acteurs Inspecteurs Pré-condition Une authentification préalable Rapport existant Post-condition Le rapport a été bien mis à jour Scénario nominal 1-L’inspecteur choisi le rapport à modifier 2-le système affiche l’interface de modification 3- L’inspecteur modifie les informations et valide 4-le système vérifie les données saisies 5-le système enregistre les données et affiche un message de succès Scénario alternatif 4-a- L’inspecteur saisie des données manquantes 4-a-1-le système affiche un message d’erreur 4-a-2-reprise de l’étape 3 du scénario nominal 4-b- le système ne peut pas charger le rapport 4-b-1-le système demande à l’inspecteur de le recharger. 4-b-2-reprise de l’étape 3 du scénario nominal Tableau 6 : Description textuelle des cas d’utilisation « Modifier un rapport » Consulter les statistiques Cas d’utilisation Consulter les statistiques Acteurs Utilisateurs Pré-condition Une authentification préalable
  32. 32. 28 Post-condition Les statistiques sont affichées Scénario nominal 1-l'utilisateur demande l’affichage des statistiques. 2-le système affiche les statistiques Scénario alternatif 2-a-aucun résultat 2-a-1-le système affiche un message de type « aucun résultat trouvé » Tableau 7 : Description textuelle des cas d’utilisation « Consulter les statistiques » Lister les rapports Cas d’utilisation Lister des rapports Acteurs Utilisateurs Pré-condition Une authentification préalable Post-condition La liste des rapports est affichée Scénario nominal 1-L’utilisateur demande l’affichage de la liste des rapports 2-le système affiche la liste des rapports Scénario alternatif 2-a-aucun résultat 2-a-1-le système affiche un message de type « aucun résultat trouvé » Tableau 8 : Description textuelle des cas d’utilisation « Lister les rapports » Ajouter un utilisateur Cas d’utilisation Ajouter un utilisateur Acteurs Administrateurs Pré-condition Une authentification préalable Post-condition Un nouvel utilisateur ajouté Scénario nominal 1- Administrateur demande l’interface d’ajout. 2-le système affiche l’interface d’ajout 3- Administrateur rempli les données du nouvel utilisateur. 4-le système vérifie les données saisies (Format des zones de saisie et les champs obligatoires) 5-le système enregistre le nouvel utilisateur et affiche le message : Données sauvegardées avec succès. Scénario alternatif 4-a- Administrateur saisie des données manquantes (champs avec une étoile rouge après leur libellé (*).) 4-a-1-le système affiche un message d’erreur 4-a-2-reprise de l’étape 3 du scénario nominal Tableau 9 : Description textuelle des cas d’utilisation « Ajout utilisateur » Exporter les statistiques Cas d’utilisation Exporter les statistiques Acteurs Utilisateurs Pré-condition Une authentification préalable
  33. 33. 29 Post-condition Le fichier a été bien enregistré dans la machine de l’utilisateur Scénario nominal 1-L’inspecteur choisi l’extension de fichier (PDF, XLS.) 2-le système affiche le fichier à télécharger. 3- L’utilisateur télécharge le fichier Scénario alternatif 4-a- Utilisateur saisie des données manquantes (champs avec une étoile rouge après leur libellé (*).) 4-a-1-le système affiche un message d’erreur 4-a-2-reprise de l’étape 3 du scénario nominal Tableau 10 : Description textuelle des cas d’utilisation « Exporter les statistiques » 2- Diagramme d’activités Un diagramme d'activités permet de modéliser un processus interactif, global ou partiel pour un système donné (logiciel, système d'information). Il est recommandable pour exprimer une dimension temporelle sur une partie du modèle, à partir de diagramme de classe ou de cas d'utilisation, par exemple. Le diagramme d'activités est une représentation proche de l'organigramme ; la description d'un cas d'utilisation par un diagramme d'activités correspond à sa traduction algorithmique. Une activité est l'exécution d'une partie du cas d'utilisation, elle est représentée par un rectangle aux bords arrondis. Les actions en bleu sont effectuées par l’utilisateur alors que les actions en orange sont effectuées par le système. Dans ce qui suit, nous présentons les diagrammes d’activités pour quelques cas d’utilisation de notre système. 2-1. Diagramme d’activités de cas d’utilisation « s’identifier » Pour accéder à notre application, l’utilisateur doit s’authentifier en entrant son login et son mot de passe. Le processus d’authentification peut être résumé dans le diagramme d’activités suivant : Figure 9 : Diagramme d’activités de cas d’utilisation « s’identifier »
  34. 34. 30 2-2. Diagramme d’activités de cas d’utilisation « gestion des comptes » Le diagramme d’activité suivant représente les activités que l’Administrateur doit réaliser dans le but de gérer les comptes des utilisateurs. Figure 10 : Diagramme d’activités de cas d’utilisation « gestion des comptes » 2-3. Diagramme d’activités de cas d’utilisation « gestion des formulaires » Ce diagramme représente les différentes manipulations sur un formulaire après l’authentification. Figure 11 : Diagramme d’activités de cas d’utilisation « gestion des formulaires »
  35. 35. 31 2-4. Diagramme d’activités de cas d’utilisation « remplissage de formulaire » Le diagramme d’activité suivant montre les étapes pour remplir un formulaire. Figure 12 : Diagramme d’activités de cas d’utilisation « remplissage de formulaire » 3- Diagramme de séquence Pour schématiser la vue comportementale de notre système informatique, nous faisons recours aux diagrammes de séquence d’UML. Ce type de diagramme permet de présenter les interactions entre l’acteur et le système avec des messages présentés dans un ordre chronologique. Le digramme de séquence traite le système informatique comme étant une boite noire. Le comportement du système est décrit de l’extérieur sans avoir d'idée sur comment il le réalisera. En nous référant aux descriptions textuelles dans la section précédente, nous présentons les diagrammes de séquences adéquats.
  36. 36. 32 3-1. Diagramme de séquence du cas d’utilisation « s’authentifier » Le diagramme de séquence suivant symbolise les échanges effectués entre l’utilisateur et le système qu’on peut résumer dans l’envoie du login et le mot de passe par l’utilisateur et l’affichage des interfaces graphiques selon la catégorie par le système comme feedback. Figure 13 : Diagramme de séquence du cas d’utilisation « s’authentifier » sd Authentification Utilisateur Système alt Exists [user == exists] [user == not exists] alt si user est un admin [user == "ADMIN_ROLE"] [user == "INSPECTEUR_ROLE"] [user == "DECIDEUR_ROLE"] resaisir_login_password() error_message() demander_login_password() affichage_interface_reporting() affichage_interface_formulaire() saisir_login_password() affichage_interface_gestion_comptes()
  37. 37. 33 3-2. Diagramme de séquence du cas d’utilisation « Gestion des comptes » Les échanges représentés sur le diagramme en dessous consistent à ce que l’Administrateur choisit l’opération qu’il désire effectuer puis procède à l’exécution. Figure 14 : Diagramme de séquence du cas d’utilisation « Gestion des comptes » sd Gestion des comptes Administrateur Système alt ajout [op == ajout_user()] [sinon] alt modification ou suppression [op == (supp() || modif())] [op == (activer() || désactiver() )] save_account() saisir_infos_user() save() modifier_ou_supprimer() afficher_interface_ajout() save_updates() activer_ou_desactiver(user) lister_comptes() selectionner_operation() choisir_categorie_user() afficher_operations() save_updates()
  38. 38. 34 3-3. Diagramme de séquence du cas d’utilisation « remplissage formulaire » Sur la figure suivante se présentes les différents échanges entre l’utilisateur et le système pour remplir les formulaires. Figure 15 : Diagramme de séquence du cas d’utilisation « remplissage formulaire » sd remplissage formulaire Inspecteur Système alt formulaire déjà rempli [form == rempli()] [sinon] ref modifier formulaire save_infos() remplir_champs_formulaire() Authentification(login, password): Bool sauvegarder() afficher_formulaire()
  39. 39. 35 3-4. Diagramme de séquence du cas d’utilisation « modifier formulaire » Sur le diagramme de séquence suivant se présentent les différents échanges entre l’utilisateur et le système pour réaliser le processus de modification des enregistrements et qui nécessite obligatoirement l’existence de l’enregistrement à l’avance. Figure 16 : Diagramme de séquence du cas d’utilisation « modifier formulaire » sd modifier formulaire Inspecteur Système alt si formulaire déjà rempli [row == exists] [sinon] ref remplissage formulaire Affichage_formulaire() save_updates() modifier_champs() Authentification(login, password): Bool save_modifications()
  40. 40. 36 3-5. Diagramme de séquence du cas d’utilisation « affichage reporting » Le décideur choisit la variable de base pour déclencher le mécanisme de réalisation des rapports d’analyse. Figure 17 : Diagramme de séquence du cas d’utilisation « affichage reporting » 4- Diagramme de classe Le diagramme des classes participantes permet de faire la jonction entre les cas d’utilisation, les modèles de la couche métiers et l’interface avec l’utilisateur. Dans un diagramme de classes, nous pouvons distinguer trois stéréotypes qui sont : sd Affichage reporting Décideur SystèmeDiagramme de séquance (Affichage reporting) Affichage_reporting() Affichage_parametres () Selectionner_parametres () Authentification(login, password): boolean
  41. 41. 37 4-1. Classe utilisateur Figure 18 : Diagramme de classe « Utilisateur » class System Utilisateur # age: int # cin: String # id: int # nom: String # prenom: String «property get» + getage(): int + getcin(): String + getid(): int + getnom(): String + getprenom(): String «property set» + setage(int): void + setcin(String): void + setid(int): void + setnom(String): void + setprenom(String): void Decideur Administrateur Compte - login: String - passwordHash: String - verouille: boolean «property get» + getlogin(): String + getpassword(): String + isverouille(): boolean «property set» + setlogin(String): void + setpassword(String): void + setverouille(boolean): void Role - id: int - nom: String «property get» + getid(): int + getnom(): String «property set» + setid(int): void + setnom(String): void Inspecteur - numDRPP: String «property get» + getnumDRPP(): String «property set» + setnumDRPP(String): void 1 1 1 0..*
  42. 42. 38 4-2. Classe Rapport Figure 19 : Diagramme de classe « Rapport » class System Rapport - date: Date - id: int - valide: bool «property get, property» + getdate(): Date + isvalide(): bool «property get» + getid(): int «property set» + setdate(Date): void + setid(int): void + setvalide(bool): void Axe_Infrastructure - ie1_1: int - ie1_2: int - ie2_1: int - ie2_2: int - ie3_1: int - ie3_2: int - ie4_1: int - ie4_2: int - ie5_1: int - ie5_2: int - ie6_1: int - ie6_2: int - ie7_1: int - ie7_2: int - ie8_1: int - ie8_2: int - ie9_1: int - ie9_2: int Axe_Formation - if1: int - if10: int - if11: int - if12: int - if13: int - if14: int - if15: int - if16: int - if17: int - if2: int - if3: int - if4: int - if5: int - if6: int - if7: int - if8: int - if9: int Axe_Ressource_Numerique - rn1: int - rn2: int - rn3: int - rn4_amazighe: int - rn4_ar: int - rn4_encyclopedie: int - rn4_eveil_sc: int - rn4_logiciel_geo: int - rn4_maths: int - rn4_pc: int - rn4_primaire: int - rn4_secondaire: int - rn4_svt: int - rn4_tech_sc_ing: int - rn5_amazighe: int - rn5_ar: int - rn5_encyclopedie: int - rn5_eveil_sc: int - rn5_logiciel_geo: int - rn5_maths: int - rn5_pc: int - rn5_primaire: int - rn5_secondaire: int - rn5_svt: int - rn5_tech_sc_ing: int - rn6: int - rn7: int Axe_developpement_usages - du1: int - du10: int - du11: int - du2_primaire: int - du2_secondaire_collegial: int - du2_secondaire_qualifiant: int - du3: int - du4: int - du5_crmef: int - du5_etabs: int - du6: int - du7: int - du8: int - du9: int A Axe_Pilotage - p1: boolean - p2: boolean - p3: boolean - p4: boolean - p5: float 1 * 1 1..* 1 1..* 1 1..* 1 1..*
  43. 43. 39 4-3. Classe Etablissement Figure 20 : Diagramme de classe « Etablissement » class System Rapport - date: Date - id: int - valide: bool «property get, property» + getdate(): Date + isvalide(): bool «property get» + getid(): int «property set» + setdate(Date): void + setid(int): void + setvalide(bool): void Inspecteur - numDRPP: String «property get» + getnumDRPP(): String «property set» + setnumDRPP(String): void Etablissement - adresse: String - code_gresa: String - nom_etablissement: String - nouvelle_aref: String - nouvelle_delegation: String - type: String «property get» + getadresse(): String + getcode_gresa(): String + gettype(): String «property» + nom_etablissement(): String + nouvelle_aref(): String + nouvelle_delegation(): String «property set» + setadresse(String): void + setcode_gresa(String): void + settype(String): void 0..1 * * 1 1 1..*
  44. 44. 40 4-4. Diagramme de classe global Figure 21 : Diagramme de classe global
  45. 45. 41 4-5. Dictionnaire de données : Classe Mnémonique Libellé Type Contraint es Utilisateur Id Identifiant Bigint Clé primaire Cin Carte d’identité nationale nvarchar(10) Nom Nom de l’utilisateur nvarchar(50) Prenom Prénom de l’utilisateur nvarchar(50) Age Age d’utilisateur Int Role Id Identifiant Bigint Clé primaire Nom Nom nvarchar(MA X) Compte Id Identifiant Bigint Clé primaire Login Login nvarchar(128 ) passwordHash Mot de passe nvarchar(128 ) Verouille Real Inspecteur NumDRPP Identifiant de l’inspecteur varchar(255) Id Identifiant Bigint Clé primaire Cin Carte d’identité nationale nvarchar(10) Nom Nom nvarchar(50) Prenom Prénom nvarchar(50) Age Age Int Administrateur Id Identifiant Bigint Clé primaire Cin Carte d’identité nationale nvarchar(10) Nom Nom nvarchar(50) Prenom Prénom nvarchar(50) Age Age Int Decideur Id Identifiant Bigint Clé primaire Cin Carte d’identité nationale nvarchar(10) Nom Nom nvarchar(50) Prenom Prénom nvarchar(50) Age Age Int Etablissement Code_gresa Identifiant varchar(255) Clé primaire Adresse Adresse varchar(255) Nom_etablisseme nt Nom varchar(255) Nouvelle_aref Académie régionale de l’éducation et formation varchar(255)
  46. 46. 42 Nouvelle_delegati on Délégation varchar(255) Type Type varchar(255) Rapport Id Identifiant Int Clé primaire Date Date visite varchar(10) id_etablissement Identifiant établissement varchar(255) Clé étrangère drpp_inspecteur Identifiant inspecteur varchar(255) Clé étrangère Valide Bit id_infrastructure Identifiant axe infrastructure Int Clé étrangère id_formation Identifiant axe formation Int Clé étrangère id_ressource_num erique Identifiant axe ressource numérique Int Clé étrangère id_usage Identifiant axe usage Int Clé étrangère id_pilotage Identifiant axe pilotage Int Clé étrangère Axe_infrastruct ure Id Identifiant Int Clé primaire ie1_1 Nombre de Pannes Matérielles détectées GENIE 1 Int ie1_2 Nombre de Pannes Matérielles détectées GENIE 2 Int ie2_1 Nombre de Pannes Matérielles résolues GENIE 1 Int ie2_2 Nombre de Pannes Matérielles résolues GENIE 2 Int ie3_1 Nombre de Pannes Logicielles détectées GENIE 1 Int ie3_2 Nombre de Pannes de Connexion détectées GENIE 2 Int ie4_1 Nombre de Pannes Logicielles résolues GENIE 1 Int ie4_2 Nombre de Pannes Logicielles résolues GENIE 2 Int ie5_1 Nombre de Pannes de Connexion détectées GENIE 1 Int ie5_2 Nombre de Pannes de Connexion détectées GENIE 2 Int ie6_1 Nombre de Pannes de Connexion résolues GENIE 1 Int ie6_2 Nombre de Pannes de Connexion résolues GENIE 2 Int
  47. 47. 43 ie7_1 Nombre de SMM mises à niveau GENIE 1 Int ie7_2 Nombre de SMM mises à niveau GENIE 2 Int ie8_1 Nombre de licences des logiciels Microsoft réinstallés dans les SMM GENIE 1 Int ie8_2 Nombre de licences des logiciels Microsoft réinstallés dans les SMM GENIE 2 Int Axe_ressource_ numerique Id Identifiant Int Clé primaire rn1 Nombre d’établissements n’ayant pas reçu les ressources numériques Int rn2 Organisation du concours régional de production de RN, y compris les vidéos pour le soutien scolaire. Int rn3 Organisation du concours provincial de production de RN, y compris les vidéos pour le soutien scolaire. Int rn4_maths Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (Mathématique) Int rn4_pc Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (Physique -Chimie) Int rn4_eveil_sc Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (Eveil science) Int rn4_ar Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (Arabe) Int rn4_logiciel_geo Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (logiciel géométrie) Int rn4_amazighe Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (amazighe) Int
  48. 48. 44 rn4_tech_sc_ing Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (sience d’ingenieur) Int rn4_encyclopedie Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (Encyclopédie Numérique Multimédia en Arabe) Int rn4_primaire Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (Primaire) Int rn4_secondaire Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (Secondaire) Int rn4_svt Nombre d'inspecteurs à initier à l'usage des RN acquises dans le cadre du programme GENIE (SVT) Int rn5_maths Nombre de Prof. à encadrer à l’usage des RN(Mathématique) Int rn5_pc Nombre de Prof. à encadrer à l’usage des RN(Physique - Chimie) Int rn5_svt Nombre de Prof. à encadrer à l’usage des RN(SVT) Int rn5_eveil_sc Nombre de Prof. à encadrer à l’usage des RN(Eveil Scientifique) Int rn5_ar Nombre de Prof. à encadrer à l’usage des RN(Arabe) Int rn5_logiciel_geo Nombre de Prof. à encadrer à l’usage des RN(Logiciel géométrie) Int rn5_amazighe Nombre de Prof. à encadrer à l’usage des RN(Amazighe) Int rn5_tech_sc_ing Nombre de Prof. à encadrer à l’usage des RN(Science d’ingénieur) Int rn5_encyclopedie Nombre de Prof. à encadrer à l’usage des RN(Encyclopédie Numérique Multimédia en Arabe) Int rn5_primaire Nombre de Prof. à encadrer à l’usage des RN(Primaire) Int
  49. 49. 45 rn5_secondaire Nombre de Prof. à encadrer à l’usage des RN(Secondaire) Int rn6 Nombre de contenus numériques déposés pour la validation V@REN année 2015 Int rn7 Nombre de vidéos, produites et proposées pour le soutien scolaire (TelmideTICE & concours des bonnes vidéos intégrant les TICE) Int Axe_formation Id Identifiant Int Clé primaire if1 Formation en présentiel relatives aux modules PDP-TICE Int if2 Formation en présentiel relatives aux modules TICE & VS Int if3 Formation en présentiel relatives aux modules TBI Int if4 Formations relatives aux modules PDP-TICE utilisant le e- learning Int if5 Formations relatives aux modules TICE & Vie Scolaire utilisant le e-learning Int if6 Regroupement des RH ( modules PDP-TICE utilisant le e- learning) Int if7 Regroupement des RH ( modules TICE & Vie Scolaire utilisant le e-learning) Int if8 Formation en présentiel pour passer la certification Niv, 1 MOS Int if9 Formation en présentiel pour passer la certification Niv, 2 MOS Int if10 Formation en ligne pour passer la certification MCE Int if11 Nombre de Certifications Niv, 1 MOS Int if12 Nombre de Certifications Niv, 2 MOS Int if13 Nombre de Certifications MCE Int if14 Formation des Conseillers TICE dans le domaine de la maintenance Int if15 Achat des Vouchers (CPS Modèle) et adhésion à l’IT ACADEMY Int
  50. 50. 46 if16 Création des Centres d’Examen Certificatif IT ACADEMY Int if17 Renseigner la base de données pour le suivi des Formations Int Axe_pilotage Id Identifiant Int Clé primaire p1 Création de l’Unité TICE régionale Bit p2 Mise à jour de la liste des coordonnateurs régionaux et provinciaux et des conseillers TICE Bit p3 Création d’une base de données des techniciens de maintenance Bit p4 Création d’une base de données des conseillers (Morchid) au niveau des Etablissements Bit p5 Taux de création des coordinations provinciales/AREF Real Axe_usages Id Identifiant Int Clé primaire du1 Nb d’Ateliers de Partage, de Régulation et d’Approfondissement (APAR) réalisés Int du2_primaire Nb d’Etablissements ayant reçu le Kit TICE(Primaire) Int du2_secondaire_c ollegial Nb d’Etablissements ayant reçu le Kit TICE(Secondaire Collégial) Int du2_secondaire_q ualifiant Nb d’Etablissements ayant reçu le Kit TICE(Secondaire qualifiant) Int du3 Nb d’Inspecteurs ayant reçu le Kit TICE Int du4 Nb de Professeurs ayant reçu le Kit TICE Int du5_etabs Nb de campagnes d’information et de sensibilisation TICE organisées dans les établissements Int du5_crmef Nb de campagnes d’information et de sensibilisation TICE organisées dans les CRMEF Int du6 Nb de partenariats réalisés Int du7 Nb de contributions à l’alimentation du portail TICE en informations régionales Int
  51. 51. 47 du8 Organisation de la compétition du meilleur établissement scolaire qui exploite et développe les TIC Int du9 Organisation de la compétition de la meilleure pratique pédagogique intégrant les TIC Int du10 Les projets pilotes (Kidsmart IBM, Tablettes, SkillPass, Scratch ou autres) expérimentés dans votre AREF Int du11 Autres événements ou initiatives, de nature à développer les usages des TICE, organisés au niveau provincial ou régional Int Tableau 11 : Dictionnaire de données E- Aspect sécurité La sécurité de notre système ne peut donc plus être ignorée. Face aux risques liés à des applications Web dont la complexité et l’omniprésence ne cessent de croître, les décideurs doivent initialiser les actions permettant d’assurer un niveau de sécurité suffisant pour ces applications utilisées par leur entreprise. De même que pour la qualité, le management doit définir les objectifs liés à la sécurité, déléguer les tâches de réalisation et s’assurer de l’atteinte des objectifs. Négliger de telles mesures représenterait une prise de risque conséquente sur le marché actuel. La sécurité des applications Web doit être prise en compte dès la conception, durant le développement, lors de l’intégration et durant toute la vie de l’application. Elle doit faire partie intégrante de l'application, et non être ajoutée à la fin du cycle de développement. Au-delà de la conception et de l’implémentation, la sécurité d’une application Web doit en outre être testée et vérifiée avant la mise en production et lors de ses évolutions. Le management doit donc s’assurer que les différentes parties prenantes, MOA (Maîtrise d’Ouvrage), chef de projet, développeurs, comprennent les enjeux, connaissent et mettent en œuvre les bonnes pratiques. La majorité des failles de sécurité que l’on peut trouver dans les applications Web peuvent être classées en trois grandes familles : - La gestion incorrecte de l’authentification, des habilitations et du contrôle d’accès - Les failles de type « injection » - Les fuites d’information Dans ce qui suit nous allons expliquer les failles qui concernent notre application : La gestion incorrecte de l’authentification, des habilitations et du contrôle d’accès Les paramètres d’authentification, d’habilitation et de contrôle d’accès soumis (par l’utilisateur, ou d’application à application) sont bien souvent incorrectement pris en compte,
  52. 52. 48 gérés ou contrôlés. Cette situation peut entraîner des risques d’usurpation d’identité et d’accès à des fonctionnalités ou données illégitimes, et donc d’atteinte à la confidentialité ou à l’intégrité des données. Le risque est exacerbé par le fait que le fonctionnement par défaut d’un serveur Web est d’autoriser l’accès au contenu publié. Si un contenu spécifique doit être fonctionnellement restreint à certains utilisateurs seulement, le développeur doit mettre explicitement en place des mécanismes d’authentification, d’habilitation et de contrôle d’accès pour protéger chaque contenu (pages Web notamment) devant être protégé. Pour notre application nous allons utiliser un module d’authentification (, Identity Framework …) pour le contrôle d’accès. Les failles de type « injection » L'injection de données est une technique consistant à insérer (i.e. Injecter) des données spécialement formées en entrée d'une fonction, d'un programme ou d'un script afin de les détourner de leur fonction d'origine (e.g. modification de base de données, récupération d’informations sensibles, etc.). Des failles de type injection peuvent par exemple exister pour les accès en base de données (SQL injection), la construction de pages Web dynamiques (Cross Site Scripting) En injectant des données non prévues par l’application Web, un attaquant peut influer sur le fonctionnement même de l’application, voire compromettre un environnement applicatif complet. C’est donc tout autant la disponibilité, que l’intégrité et la confidentialité des données qui peuvent ne plus être assurées. Les attaques de type Injection sont facilitées par la possibilité pour un attaquant d’utiliser des outils de type « proxy local » librement disponibles sur Internet. Ces outils lui permettent d’injecter dans les champs de formulaires ou entêtes HTTP des données spécifiquement composées pour permettre d’exploiter les failles, quelles que soient les protections mises en place côté navigateur Web.
  53. 53. 49 Conclusion Ce chapitre a donné l’aspect conceptuel de notre application, où on a détaillé l'ensemble des diagrammes de conception indépendamment de la plateforme matérielle et logicielle du projet. Le chapitre suivant fera l’objet d’une étude technique qui justifiera le choix des technologies pour la réalisation de l’application.
  54. 54. 50 Chapitre III Etude technique Ce chapitre sera consacré à la présentation des langages et des outils de programmation utilisés pour la réalisation de notre application ainsi que l’architecture technique de notre système.
  55. 55. 51 o Contexte technologique 1- Définition d’une application web Une application web est une application qui s’exécute par le biais d’un navigateur Web et donc développée par un langage de programmation compatible avec les navigateurs côté client (telle que la combinaison du JavaScript, HTML et du CSS) et exécutable au niveau d’un serveur HTTP côté serveur. Les applications web se sont popularisées grâce à la forte présence des navigateurs web dans le monde et leur facilité d’utilisation. La possibilité de maintenir à jour les applications web, sans perturber les milliers d’utilisateurs, est la raison principale de cette popularité tout comme la compatibilité intrinsèque entre les différents systèmes d’exploitation. Dans la réalisation d’une application web, la gestion d’un contexte utilisateur est essentielle si on souhaite offrir une expérience personnalisée lors de leur navigation sur les pages d’un site. Cela permet à l’application de déterminer par exemple avec quel utilisateur elle communique, et ainsi, d’afficher à l’écran des informations auxquelles d’autres utilisateurs n’ont pas accès. Cela répond exactement au besoin de sécurité de notre système. 2- Architecture technique L’expression des besoins opérationnels mentionnés dans des sections précédentes impliquent des contraintes relatives à la configuration du réseau matériel, les performances d’accès aux données ainsi que la sécurité du système, l’intégration des applications et le mode d’utilisation du système. Afin de concevoir notre application, nous avons opté pour l’architecture 3-tiers. Elle représente la solution la plus adaptée à notre système car elle nous offre : - Des meilleures performances grâce à la répartition des charges de travail. - Une disponibilité de l’information en temps réel. - Une répartition des tâches entre les acteurs du système L’architecture technique de notre système est schématisée comme suit : Figure 22 : L’architecture matérielle du système
  56. 56. 52 Comme le montre la figure, notre architecture se compose de trois couches : - La couche de données : qui fait l’interfaçage avec la base de données et assure la persistance des données. - La couche métier : qui correspond à la mise en œuvre de l'ensemble des règles de gestion et de la logique applicative. - La couche présentation : qui correspond à l'affichage, et l’interfaçage avec l’utilisateur. Cette architecture fournit un découplage faible entre les différentes couches de l’application, elle permet l’évolutivité de l’application et son amélioration, elle facilite aussi sa maintenance et son test. 3- Choix techniques 3-1. L’architecture MVC Sur le plan logique, notre architecture (3tiers) est mise en œuvre suivant le modèle MVC (Modèle Vue Contrôleur). En effet, la spécification d’une architecture à composants métier 3- tiers implique la répartition des composants d’exploitation suivant les responsabilités. Le modèle MVC établit le diagramme suivant : Figure 23 : Diagramme architecture MVC Le modèle : il décrit les données utilisées. C’est lui qui va interagir avec la base de données, permettre des mises à jour, etc. La vue : c’est ce avec quoi l’utilisateur va interagir. Le but est de représenter les données que le modèle a renvoyées et de recevoir les actions de l’utilisateur (appui sur un bouton, saisi d’un texte, sélection d’un élément, etc.). Ces événements sont envoyés au contrôleur. La vue ne fait aucun traitement, elle se contente d’afficher les résultats et d’interagir avec l’utilisateur.
  57. 57. 53 Le contrôleur : il pilote l’application. Il prend en charge la gestion des événements pour mettre à jour la vue ou le modèle. Il reçoit les interactions de l’utilisateur et lance les actions à effectuer. Si une action nécessite un changement des données, le contrôleur demande la modification des données au modèle, et ce dernier notifie la vue que les données ont changé pour qu'elles se mettent à jour. Certains événements de l'utilisateur ne concernent pas les données mais la vue. Dans ce cas, le contrôleur demande à la vue de se modifier. 3-2. La Plateforme .NET Une plate-forme applicative se présente sous la forme d'une suite logicielle comprenant l'ensemble des briques nécessaires au déploiement d'une application client/serveur de haut niveau. A savoir : une application ou plusieurs applications serveur accessibles - généralement en mode Web - depuis des postes de travail ou des terminaux Internet.  Comparaison entre plateforme .NET et plateforme JEE J2EE (pour Java 2 Enterprise Edition) et .Net renvoient aux deux principaux modèles technologiques de plate-forme applicative existants. Lancé par Sun en 1998, autour du langage Java, le premier s'articule autour d'une infrastructure standardisée, couvrant les principales couches d'une plate-forme applicative (serveur d'applications, infrastructure de portail et serveur d'intégration), ainsi que les liens avec la base de données (ou persistance). Le modèle .Net a été lancé par Microsoft en 2001 en réponse à J2EE. Cette plate-forme, rebaptisée en 2003 Windows Server System, s'adosse à la manière de J2EE à une logique de développement et de déploiement de nouvelle génération (orientée objets). Son principal point fort : aussi structurante et riche fonctionnellement que son équivalent Java, elle n'en offrirait pas moins une approche de travail beaucoup plus simple.  La démarche adoptée Après cette comparaison, il est certes que nous adoptons la plateforme .NET puisque cette nouvelle plate-forme augmente l'efficacité et la productivité des programmeurs, en offrant aux développeurs Visual Basic (VB) et C# une puissance inégalée et des outils de développement d'applications rapide (RAD). Il leur offre la possibilité d’utiliser tel ou tel composants pour plus d’aisance dans le développement du logiciel. Par exemple, la récupération de données depuis une base de données et son affichage dans un tableau en HTML est un des composants que fournit le framework .NET, ainsi que cette plateforme est supportée par « Microsoft Community », cette communauté qui peut aider les jeunes développeurs à comprendre les problèmes et fournir des conseils ou des instructions pas à pas grâce à une documentation très claires.
  58. 58. 54 Après le choix de la plateforme .NET, nous allons travailler avec l’environnement d’exécution d’applications et de services web, appelé ASP .NET conformément au besoin de notre client. Figure 24 : L’architecture de la plateforme .NET  ASP.NET : ASP.NET est un ensemble de technologies développées par Microsoft permettant la programmation d’applications web dynamiques. Il s’agit du successeur de la technologie Active Server et fait partie de la plateforme .NET. Les pages ASP.NET sont compilées et exécutées par le Common Language Runtime 7. Cet ensemble de technologies permet de développer des applications web de manière rapide tout en leur fournissant une certaine robustesse. Il existe deux modèles de programmation en ASP.NET : Le modèle ASP.NET WebForms, est un des deux modèles de programmation pour créer des sites et des applications web en ASP.NET. Il s’agit d’éléments d’interface qui peuvent être positionnés et qui offrent la possibilité à l’utilisateur de modeler lui-même l’apparence des différentes pages de son application web via une interface de type glisser-déposer. Ce modèle a pour avantage de fournir une vaste palette de contrôle permettant le prototypage rapide d’une application. Cependant, il n’est pas possible de contrôler directement le code HTML généré en sortie. Le modèle ASP.NET MVC, qui, comme son nom l’indique, permet de créer des applications web basées sur le MVC (Model View Controller). L’avantage principal de ce modèle est cette séparation de la vue, du modèle et du contrôleur rendant le code plus facile à maintenir. De plus, contrairement au modèle WebForms, le développeur à un contrôle total sur le code HTML rendu. En contrepartie.
  59. 59. 55 Figure 25 : L’architecture de l’Asp.NET MVC Après la sélection de la plateforme.NET notre choix s’est alors orienté vers ASP.NET MVC qui est une solution adéquate pour le développement d’une application web dynamique caractérisée par sa mobilité. Il fallait ensuite décider quel langage utiliser parmi ceux disponible dans les technologies.NET, où les plus populaires sont le C# et le Visual Basic .NET (VB.NET). Ayant pratiqué pendant deux ans le C# pour le développement d’applications web (léger) pendant notre cursus scolaire, nous sommes orientés vers ce langage, car l’idée est de pouvoir utiliser nos acquis pour le développement de notre système de suivi. De plus, L’organisme d’accueil (ANRT) possède des compétences internes sur ce langage. 3-3. Le langage C# Le langage C# a été conçu par Microsoft pour sa nouvelle plateforme .NET. C’est un descendant de C++ avec des caractéristiques de Java et plusieurs autres langages. Il est un langage orienté objet qui permet aux développeurs de générer une large gamme d'applications sécurisées qui s'exécutent sur le .NET Framework. Il peut être utilisé pour créer, entre autres, des applications clientes Windows traditionnelles, des services Web XML, des composants distribués, des applications client-serveur et des applications de base de données. 3-4. Java Script JavaScript est un langage permettant d'améliorer l'interactivité d'un document HTML. Les instructions, placées dans les pages Web ou dans un fichier séparé, sont interprétées par le navigateur ; cela peut être fait soit au chargement de la page, soit en cours d'examen de celle- ci, en réponse à des événements déclenchés par l'internaute. JavaScript, initialement développé par Netscape en 1995, il se nommait LiveScript et était destiné à fournir un langage de script simple au navigateur Netscape Navigator 2.
  60. 60. 56 3-5. JQuery JQuery est une bibliothèque JavaScript facilitant l'écriture de scripts, publiée par John RESIG en Janvier 2006. JQuery est : - Compatible avec tous les navigateurs : plus besoin de truffer le code de tests pour l'adapter au navigateur, JQuery s'occupe de tout. - Compacte et rapide. - Élégant, puissant, peu verbeux, et s'apprend très rapidement - Extensible : des centaines de plugins existent, en particuliers de très nombreux effets graphiques Le principe de base est le suivant : on crée un objet JQuery pointant vers un ou plusieurs éléments de notre document, et on appelle ses méthodes. La plupart de celles-ci renvoient un objet JQuery, ce qui permet de chaîner les actions. 3-6. Entity Framework Entity Framework est la solution de mapping objet-relationnel proposée par Microsoft. Son but est de fournir la couche d'abstraction nécessaire aux développeurs pour qu'ils n'accèdent plus directement à la base de données, mais par l'intermédiaire d'entités définies par un modèle appelé EDM (Entity Data Model). Ce modèle est divisé en 3 parties : - Le schéma conceptuel : Il regroupe la définition des entités, des ensembles d'entités et des fonctions utilisées. Ces éléments sont définis dans un fichier XML appelé CSDL (ConceptualSchemaDefinitionLanguage). - Le schéma logique : Celui-ci correspond à la définition des tables, vues et procédures stockées déclarées dans la base de données. Toutes ces informations sont regroupées dans un fichier XML appelé SSDL (Store SchemaDefinitionLanguage). - Schéma de liaison : Il définit les liaisons entre le schéma conceptuel et le schéma logique. Il associe entre autres les entités déclarées dans le fichier CSDL aux tables définies dans le fichier SSDL. Ce mapping est inscrit dans le fichier XML MSL (MappingSpecificationLanguage). 3-7. Environnement de développement intégré Ayant choisi de nous porter sur de l’ASP.NET, l’outil le plus adéquat pour réaliser l’application et ses différentes fonctionnalités, est l’environnement de développement Microsoft Visual Studio 2013.
  61. 61. 57 Microsoft Visual Studio est un environnement de développement intégré (IDE) conçu comme son nom l’indique, par Microsoft. Il est utilisé pour le développement de site web, d’applications web et services web mais aussi pour les systèmes d’exploitations Microsoft Windows. Il est composé des outils de création d’interfaces graphiques, un outil de création de classe et de modèle de base de données. Visual Studio supporte divers langages de programmation tels que : le C++, le VB.NET, C#, le F#, le Python, ou encore le Ruby. Il propose également le support du XML/XSLT, du HTML/XHTML, du JavaScript ou encore du CSS. Nous avons donc décidé que cet outil était plus que nécessaire si l’on envisage le développement de l’application en ASP.Net. En effet, celui-ci permet d’exploiter tout le potentiel des technologies .NET. 3-8. Système de gestion de base de données La solution développée utilise comme système de gestion de base de données (SGBD) Microsoft SQL Server 2012. Comme tout autre (SGBD), il permet le stockage et la gestion des données. Il permet la fiabilité, la disponibilité, la sécurité et à la facilité de la gestion des données. Il permet de disposer des informations les plus récentes grâce à des outils familiers. Il permet de bénéficier d'un développement et d'un déploiement intégrés et de l'une des plateformes de base de données les plus sécurisées avec des contrôles intégrés de sécurité et de technologies de l'information, et ce, pour un coût total de possession extrêmement réduit. L’Entity Framework est l’outil de SQL Server pour créer une couche d’accès aux données dans Microsoft .NET. La réalité sur le terrain est un peu différente car il y a aujourd’hui de nombreuses solutions pour accéder aux données en .NET. En fait Entity Framework offre 3 approches selon le besoin (Database First, Model First et Code First) : - Database First : Elle consiste à générer un modèle de données depuis une base de donnés existante. Ce modèle de données va nous permettre d’accéder aux données à partir de notre application .NET - Model First : cette approche est utilisée lorsque aucune base de données n’existe donc nous utilisons un modèle à partir de Visual studio pour générer une base de données. Nous créons donc le modèle en premier. - Code First : c’est l’approche la plus récente, elle est utilisée lorsque aucune base de données n’existe donc nous générons une base de données à partir du code C# par la création des classes qui vont représenter des entités métiers à partir desquelles nous générons une base de donnée en utilisons des migrations. Pour répondre à nos besoins et puisque nous n’avons pas de base de données offerte par l’organisme d’accueil nous avons opté pour l’approche Code First de l’Entity Framework. 3-9. Librairie microsoft asp.net identity Microsoft ASP.NET Identity est le nom de la librairie que nous avons utilisé lorsqu’il sera temps d’authentifier nos utilisateurs. L’aspect de la gestion de l’authentification des utilisateurs avec ASP.NET avait nécessairement besoin d’un niveau élevé de la sécurité.
  62. 62. 58 En quelques mots, le fonctionnement d’ASP.NET Identity est lié de très près au fonctionnement d’Entity Framework. Les fondations nous permettant d’aller récupérer les informations d’un utilisateur ou d’en modifier les informations dans Entity Framework d’une façon sécurisée. Tout le code que nous avons implémenté et qui nous permet de gérer l’authentification de nos utilisateurs au sein de notre application est situé sous l’espace de noms Microsoft.AspNet. Identity. Il s’agit d’un module de sécurité de Microsoft que nous avons exploité pour veiller à l’aspect sécurité dans notre application web. 3-10.Système de gestion des Rapports SSRS offre un ensemble d’outils et de services prêts à l’emploi pour définir, gérer et déployer des rapports. Il fournit également des interfaces de programmation d'applications qui permettent d’étendre les rapports sous d’autres environnements. SSRS est une plate-forme serveur de rapports qui fournit des fonctionnalités de création de rapports pour différentes sources de données. Les outils Reporting Services fonctionnent au sein de l’environnement Microsoft Visual Studio et sont totalement intégrés aux outils et composants de SQL Server 2012. Reporting Services permet de créer des rapports de type interactif, tabulaire, graphique ou libre à partir de sources de données XML, ou relationnelles (SQL) ou multidimensionnelles (OLAP). La phase de reporting est la plus importante des étapes de ce processus de collecte, stockage, transformation et manipulation de données. Cette dernière étape représente celle qui, aux yeux des utilisateurs, a plus de valeur car elle permet de donner du sens aux montagnes de données qui s’accumulent chaque jour. Les rapports jouent un rôle essentiel dans la compréhension du marché et de la performance de l’entreprise. 3-11.Serveur IIS Les applications ASP.NET sont gérées par Internet Information Services (IIS). Il s’agit d’un serveur Web développé par Microsoft qui fournit une plateforme sécurisée et facile à administrer pour l’hébergement des Services Web ainsi que des applications Web. Dans sa version plus récente, IIS permet la gestion de la plupart des langages utilisés sur le Web allant de l’ASP.NET au PHP. Celui-ci peut contenir une ou plusieurs applications web et offre la possibilité de configurer le niveau d’isolation entre ces différentes applications. Cette fonctionnalité offre la possibilité de : - Grouper les sites et applications qui s’exécutent avec les mêmes paramètres de configuration. - Isoler les sites et applications web qui s’exécutent avec des paramètres de configuration unique. - Prévenir que les ressources d’une application accèdent aux ressources d’une autre.
  63. 63. 59 3-12.Système de gestion des versions TortoiseSVN est un client opensource gratuit pour le système de contrôle de version Subversion. C'est à dire TortoiseSVN gère des fichiers et des répertoires à travers le temps. Les fichiers sont stockés dans un référentiel central. Le référentiel ressemble beaucoup à un serveur de fichiers ordinaire, sauf qu'il mémorise tout changement fait à vos fichiers et répertoires. Cela vous permet de récupérer les versions précédentes de vos fichiers et examiner l'historique de comment et quand vos données ont changé. C'est pourquoi beaucoup de personnes pensent que Subversion et les systèmes de contrôle de version en général sont une sorte de « machine à remonter le temps ». Quelques systèmes de contrôle de version sont aussi des systèmes de gestion de configuration logicielle (GCL). Ces systèmes sont spécifiquement conçus pour gérer des arborescences de code source et ont beaucoup de fonctionnalités spécifiques au développement de logiciel comme la compréhension de langages de programmation en natif, ou des outils d'approvisionnement pour construire le logiciel. Subversion, cependant, n'est pas un de ces systèmes, c'est un système général qui peut être utilisé pour gérer n'importe quelle collection de fichiers, y compris du code source. La figure ci-dessous représente la projection de notre architecture technique sur l’ensemble des technologies utilisées : Figure 26 : Les choix techniques 3-13.La bibliothèque Log4Net Log4Net et un fichier XML avec l’extension .log4net et le même nom complet que l’exécutable de modèle existe, le module obtient la configuration de log4net de ce fichier, puis produit les informations correspondantes. Le fichier de configuration log4net n’a pas besoin d’exister lorsque vous démarrez votre CES. Log4net surveille la création d’un nouveau fichier dans le dossier, donc simplement créer le fichier de configuration .log4net déclenche la mise à jour dans la composante qui est en enregistrement. En utilisant un appender de fichier, le dossier de destination n’a pas besoin d’exister. Log4net crée le dossier.
  64. 64. 60 Conclusion Ce chapitre avait comme but de présenter l’ensemble des technologies et d’environnements dans lesquels notre projet s’inscrit, aussi nous avons introduit les langages de programmations utilisés pour la mise en place du système. Le chapitre suivant présente le diagramme de déploiement de notre application, les tests effectués ainsi que des interfaces de notre réalisation.
  65. 65. 61 Chapitre IV Mise en œuvre Dans ce chapitre, nous allons présenter le diagramme de déploiement de notre système et l’ensemble des tests des fonctionnalités offertes par notre application. Nous clôturons par des prises d’écran démontrant le fonctionnement de notre site.
  66. 66. 62 o Déploiement 1- Diagramme de déploiement Le diagramme de déploiement permet de représenter la répartition géographique des composants matériels de notre système sous forme de nœuds. Le diagramme de déploiement est une vue statique qui sert à représenter l'utilisation de l'infrastructure physique par le système et la manière dont les composants du système sont répartis ainsi que la relation entre eux. Les éléments utilisés par un diagramme de déploiement sont principalement les nœuds, les composants et les associations. Figure 27 : Diagramme de déploiement
  67. 67. 63 2- Présentation des exemples d’interfaces Dans ce paragraphe, nous présentons quelques interfaces de l’application réalisée. Interface d’authentification permet aux utilisateurs de se connecter à l’application avec leurs nom d’utilisateur et mot de passe. Figure 28 : Authentification L’interface d’ajout des utilisateurs c’est la page qui permet aux administrateurs d’ajouter des utilisateurs quel que soit son rôle. Le système affiche cette page lorsqu’un administrateur essaye d’ajouter un utilisateur dans le système. Figure 29 : Ajout d’utilisateur par administrateur
  68. 68. 64 Interface de la liste des utilisateurs permet de voir les différents utilisateurs et aussi effectuer plusieurs actions soit modifier supprimer et même voir les établissements affectés. Figure 30 : Liste des utilisateurs Cette interface est dédiée pour l’affectation des établissements aux inspecteurs, l’administrateur doit disposer du code GRESA de l’établissement et le code DRPP de l’inspecteur, pour que l’affectation réussisse faut que les deux codes soient dans la base de données, le système affiche un message d’erreur dans le cas contraire. Figure 31 : Affectation établissement
  69. 69. 65 Cette interface permet à l’administrateur de valider les rapports émis par les inspecteurs, une fois un rapport validé, l’inspecteur rédacteur du rapport n’aura plus la main de le modifier ou de le supprimer. Figure 32 : Validation de rapport Cette interface permet aux inspecteurs de sélectionner un établissement pour effectuer un rapport. Figure 33 : Liste des établissements affectés
  70. 70. 66 Après avoir sélectionner une établissement un ensemble des zones de texte numériques s’affichent pour que l’inspecteur puisse saisir les valeurs correspondantes aux indicateurs prédéfinis. Figure 34 : Ajout un rapport Cette interface permet aux inspecteurs de voir l’historique des rapports effectués, elle contient aussi des actions (supprimer, modifier, ou voir les valeurs déjà saisies). Figure 35 : Liste des rapports
  71. 71. 67 Cette interface permet aux décideurs de sélectionner un établissement et générer des statistiques soit scoring de chaque axe ou voir la variation des indicateurs aux choix. Figure 36 : choix scoring ou variation pour des rapports Cette interface permet de voir sous format d’un chart la variation des indicateurs pour tous les rapports effectués sur un établissement sélectionné. Figure 37 : affichage des statistiques
  72. 72. 68 Cette interface permet de sommer les indicateurs de chaque axe et les afficher dans un chart, elle permet aussi de l’exporter sous format PDF, Excel ou Word. Figure 38 : affichage Scoring Axe Cette interface permet aux administrateurs de consulter les traces du serveur (logs). Figure 39 : Consultation des fichiers logs
  73. 73. 69 Conclusion Dans ce chapitre, nous avons traité les détails de la réalisation de notre application “Système de suivi et d’évaluation d’usage des TIC”, qui est la phase qui nous a pris le plus de temps. De plus nous avons aussi montré des différentes interfaces de l’application.

×