Rapport PFE TICE Final\nby Yassine Elfadili\nAyoub SAYEH, Stagiaire chez ANRT\nNous dédions humblement ce mémoire:\nA ceux qui nous ont toujours donné de leurs personnes, témoigné de leurs\nconfiances et cela de multiples manières, qui nous ont toujours soutenu dans tout\nce que nous avons entrepris, ceux qui se sont dévoués et sacrifiés pour nous,\nceux qui n’ont jamais cessé de nous encourager et de nous aiguiller quand il\ns’agissait de décisions critiques ; Nos chers et adorés PARENTS.\nA Amr et Zaynab qui n’ont jamais hésité à nous témoigner leurs disponibilités, à\nnous rendre service, à nous écouter et à nous appuyer fraternellement,\nDédicace spéciale à nos AMIS, qui se sont toujours montrés présents, attentifs\net serviables quelles que soient les circonstances, nous leur en sommes\nLa liste est assez longue mais ce mémoire est dédié à toute personne qui nous\nconnaît nous aime, trouvez ici l'expression de notre profonde gratitude.\nCe travail est le labeur de quatre mois et n’aurait probablement pas vu le jour\nsans le soutien d’un grand nombre de personnes que nous tenons vivement à\nNous commencerons tout d’abord par remercier Monsieur Mustapha AMGHAR,\nnotre encadrant, pour l’aide et le temps qu’il a bien voulu nous consacrer et\nsans lui nous n’aurons pas pu réaliser ce mémoire.\nNos remerciements vont également à Monsieur Mohamed HASSI RAHOU\ndirecteur Audit Interne de ANRT de nous avoir accordé la chance de réaliser\nun stage au sein de l’entité.\nNous tenons à remercier du fond de notre cœur l'ensemble du personnel\nadministratif pour leur soutien et leur disponibilité.\nNous exprimons notre gratitude à nos PARENTS, nos SŒURS, nos\nFRERES et nos FAMILLES qui nous ont toujours soutenus et encouragés tout\na long de nos études.\nNous adressons nos plus sincères remerciements à tous nos AMIS qui ont rendu\nce travail possible par leurs conseils, remarques et encouragements.\nThis paper presents the work’s result of our final-year study project, which was carried out as\npart of our internship within the E-Education Project management at ANRT. The aim of this\nproject called "The GENIE program" is the generalization of the use of information technology\nand communication (ICT) in education.\nA preliminary study of the existing with the partners has helped us to identify the flaws and\nweaknesses of the old tracking system, including the management of information on the use of\nICT in schools with handwritten forms. The risks this method will lead to in terms of the diffi-\nculties of distribution and data extraction. The need for process automation and generation of\ndashboards also emerged to facilitate information management and decision making.\nAfter a detailed study, the functional and non-functional specifications were captured and dur-\ning the requirements analysis phase we were able to write a set of specifications which explains\nthe functionalities of our system:\n Management of information on the use of ICT in schools.\n Visualization and statistical consultation.\nAfter validation of this set of specifications we designed a solution before using it on .NET\nplatform using architecture Asp.Net MVC5 and SSRS for calculating indicators and the gener-\nThe result of our work is a monitoring system for both managers of the application, ANRT\npersonals and Ministry of Education inspectors. This solution should guarantee a flexible and\nscalable exploitation in order to help inspectors of the Ministry of Education to make right\ndecisions and to contribute in the evaluation and development of ICT in Moroccan schools.\nThe present report outlines the steps that led to the realization of the work assigned.\nPlateform.Net, ICT, IT development, Engineering Program.\nCe rapport constitue le résultat du travail réalisé dans le cadre du projet de fin d’études\neffectué au sein de l’Agence Nationale de Réglementation des Télécommunications (ANRT) à\nRabat. Ce projet rentre dans l’application des Hautes Instructions Royales et dispositions de la\ncharte Nationale de l’éducation et de formation que le Premier Ministre a mis en place, en\nseptembre 2004, une équipe de travail composée des représentants du Ministère chargé de\nl’Education Nationale et ceux de l’ANRT, afin de traduire une stratégie volontariste, en quatre\naxes, visant l’intégration rapide et efficace des outils TIC dans l’enseignement, s'articule autour\nde programme GENIE :\nLa Généralisation des TIC dans l’Enseignement.\nPendant la phase d’étude, les spécifications fonctionnelles et non fonctionnelles ont été\ncapturées. Au cours de la phase d’analyse des besoins nous avons pu rédiger un cahier de\ncharges qui explicite les fonctionnalités de notre système,\n Gestion des informations sur l’usage des TIC dans les établissements.\n Visualisation et consultation des statistiques.\nAprès la validation de ce cahier de charges nous avons conçu une solution avant de la projeter\nsur la plateforme .NET en utilisant l’architecture MVC5 et le SSRS pour le calcul d’indicateurs\net la génération des statistiques.\nLe résultat final de notre travail est un système de suivi destiné aux responsables de l’ANRT\net aux inspecteurs du Ministère d’éducation nationale. Cette solution doit garantir une\nexploitation flexible et évolutive. Elle doit permettre d’obtenir des indicateurs d’aide à la\ndécision susceptibles de contribuer à l’évaluation et l’évolution d’usage des TIC dans\nl’enseignement au Maroc.\nGENIE, TIC, plateAsp.NET, MVC5, SSRS, architecture,\nCHAPITRE I 9\nA- L’ORGANISME D’ACCUEIL 10\n1- Présentation 10\n2- Organigramme 10\n3- Mission 11\n4- Programme GENIE 11\nB- PRESENTATION DE LA PROBLEMATIQUE 13\nC- ETUDE DE L’EXISTANT 13\nD- OBJECTIFS 14\nE- STRATEGIE DE MISE EN ŒUVRE 14\no Conduite du projet 14\n1- Cycle de vie du système 14\n2- Comparaison entre les cycles de vie d’un logiciel 15\n3- Planification du projet 18\nCHAPITRE II 20\nA- COLLECTE ET ANALYSE DES BESOINS 21\nB- ARCHITECTURE FONCTIONNELLE DU SYSTEME 22\nC- METHODOLOGIE DE CONCEPTION 23\no La démarche adoptée 23\nD- LES DIAGRAMMES DE CONCEPTION 24\n1- Diagramme de cas d’utilisation 24\n1-1. Diagramme de package 24\n1-2. Diagramme de cas d’utilisation 25\n1-3. Description textuelle des cas d’utilisation 25\n2- Diagramme d’activités 29\n2-1. Diagramme d’activités de cas d’utilisation « s’identifier » 29\n2-2. Diagramme d’activités de cas d’utilisation « gestion des comptes » 30\n2-3. Diagramme d’activités de cas d’utilisation « gestion des formulaires » 30\n2-4. Diagramme d’activités de cas d’utilisation « remplissage de formulaire » 31\n3- Diagramme de séquence 31\n3-1. Diagramme de séquence du cas d’utilisation « s’authentifier » 32\n3-2. Diagramme de séquence du cas d’utilisation « Gestion des comptes » 33\n3-3. Diagramme de séquence du cas d’utilisation « remplissage formulaire » 34\n3-4. Diagramme de séquence du cas d’utilisation « modifier formulaire » 35\n3-5. Diagramme de séquence du cas d’utilisation « affichage reporting » 36\n4- Diagramme de classe 36\n4-1. Classe utilisateur 37\n4-2. Classe Rapport 38\n4-3. Classe Etablissement 39\n4-4. Diagramme de classe global 40\n4-5. Dictionnaire de données : 41\nE- ASPECT SECURITE 47\nCHAPITRE III 50\nO CONTEXTE TECHNOLOGIQUE 51\n1- Définition d’une application web 51\n2- Architecture technique 51\n3- Choix techniques 52\n3-1. L’architecture MVC 52\n3-2. La Plateforme .NET 53\n3-3. Le langage C# 55\n3-4. Java Script 55\n3-5. JQuery 56\n3-6. Entity Framework 56\n3-7. Environnement de développement intégré 56\n3-8. Système de gestion de base de données 57\n3-9. Librairie microsoft asp.net identity 57\n3-10. Système de gestion des Rapports 58\n3-11. Serveur IIS 58\n3-12. Système de gestion des versions 59\n3-13. La bibliothèque Log4Net 59\nO DEPLOIEMENT 62\n1- Diagramme de déploiement 62\n2- Présentation des exemples d’interfaces 63\nANRT Agence nationale de réglementation des télécommunications\nGENIE Généralisation des TIC dans l’enseignement\nSQL Langage de requête structurée\nTIC Les Technologies de L’information et de la Communication.\nTICE Les Technologies de L’information et de la Communication dans l’Education\nFigure 1: Organigramme de ANRT ...................................................................................................... 10\nFigure 2: Organigramme de la direction du programme GENIE ......................................................... 12\nFigure 3 : Modèle du cycle de vie en cascade....................................................................................... 18\nFigure 4 : Planification prévisionnelle du projet ................................................................................... 18\nFigure 5 : Architecture fonctionnelle de la gestion et pilotage des enquêtes ........................................ 22\nFigure 6 : Les diagrammes de conception............................................................................................. 23\nFigure 7 : Diagramme de package......................................................................................................... 24\nFigure 8 : Diagramme de cas d’utilisation ............................................................................................ 25\nFigure 9 : Diagramme d’activités de cas d’utilisation « s’identifier » .................................................. 29\nFigure 10 : Diagramme d’activités de cas d’utilisation « gestion des comptes ».................................. 30\nFigure 11 : Diagramme d’activités de cas d’utilisation « gestion des formulaires »............................. 30\nFigure 12 : Diagramme d’activités de cas d’utilisation « remplissage de formulaire » ........................ 31\nFigure 13 : Diagramme de séquence du cas d’utilisation « s’authentifier ».......................................... 32\nFigure 14 : Diagramme de séquence du cas d’utilisation « Gestion des comptes ».............................. 33\nFigure 15 : Diagramme de séquence du cas d’utilisation « remplissage formulaire ».......................... 34\nFigure 16 : Diagramme de séquence du cas d’utilisation « modifier formulaire » ............................... 35\nFigure 17 : Diagramme de séquence du cas d’utilisation « affichage reporting » ................................ 36\nFigure 18 : Diagramme de classe « Utilisateur »................................................................................... 37\nFigure 19 : Diagramme de classe « Rapport » ...................................................................................... 38\nFigure 20 : Diagramme de classe « Etablissement »............................................................................. 39\nFigure 21 : Diagramme de classe global ............................................................................................... 40\nFigure 22 : L’architecture matérielle du système .................................................................................. 51\nFigure 23 : Diagramme architecture MVC............................................................................................ 52\nFigure 24 : L’architecture de la plateforme .NET ................................................................................. 54\nFigure 25 : L’architecture de l’Asp.NET MVC .................................................................................... 55\nFigure 26 : Les choix techniques........................................................................................................... 59\nFigure 27 : Diagramme de déploiement ................................................................................................ 62\nFigure 28 : Authentification .................................................................................................................. 63\nFigure 29 : Ajout d’utilisateur par administrateur................................................................................. 63\nFigure 30 : Liste des utilisateurs............................................................................................................ 64\nFigure 31 : Affectation établissement.................................................................................................... 64\nFigure 32 : Validation de rapport .......................................................................................................... 65\nFigure 33 : Liste des établissements affectés ........................................................................................ 65\nFigure 34 : Ajout un rapport.................................................................................................................. 66\nFigure 35 : Liste des rapports................................................................................................................ 66\nFigure 36 : choix scoring ou variation pour des rapports...................................................................... 67\nFigure 37 : affichage des statistiques..................................................................................................... 67\nFigure 38 : affichage Scoring Axe......................................................................................................... 68\nFigure 39 : Consultation des fichiers logs ............................................................................................. 68\nTableau 1 : Comparaison des cycles de vie d’un logiciel 17\nTableau 2 : Description textuelle des cas d’utilisation « authentifier » 26\nTableau 3 : Description textuelle des cas d’utilisation « Remplir le formulaire » 26\nTableau 4 : Description textuelle des cas d’utilisation « Consulter » 27\nTableau 5 : Description textuelle des cas d’utilisation « Ajouter un rapport » 27\nTableau 6 : Description textuelle des cas d’utilisation « Modifier un rapport » 27\nTableau 7 : Description textuelle des cas d’utilisation « Consulter les statistiques » 28\nTableau 8 : Description textuelle des cas d’utilisation « Lister les rapports » 28\nTableau 9 : Description textuelle des cas d’utilisation « Ajout utilisateur » 28\nTableau 10 : Description textuelle des cas d’utilisation « Exporter les statistiques » 29\nTableau 11 : Dictionnaire de données 47\nDevant le fossé numérique entre les pays du nord et ceux du Sud, le gouvernement marocain\nœuvre pour la préparation d'une plateforme, en menant une nouvelle politique ayant pour\nobjectifs stratégiques l'exécution d'un réseau intergouvernemental, l'appui d'une économie\nbasée sur le savoir et l'innovation au Maroc ; le développement des ressources humaines et\ninfrastructures pour l'utilisation des Technologies de l'Information et de la Communication.\nDans le cadre de la stratégie du programme GENIE que le Gouvernement a adopté en mars\n2005 ayant pour objectif la généralisation des technologies de l’information et de la\ncommunication dans l’enseignement public au Maroc.\nSa mise en œuvre au niveau de l’enseignement primaire et secondaire devrait permettre de\ngarantir l’accès aux moyens et services TIC a plus 22% de la population marocaine, avec des\ncontenus approprient, à travers tout le Royaume.\nLancé début 2006 et révisé en 2009, le programme GENIE, qui concerne tous les\nétablissements scolaires du Maroc est une désinence opérationnelle de la stratégie nationale de\ngénéralisation des technologies de l’information et de la communication dans l’éducation.\nLe programme GENIE repose sur 4 Axe principaux :\nFormation des enseignants\nDéveloppement des usages et pilotages\nUne telle action ne peut se faire sans la réalisation, à l’échelle nationale, de collectes de\ndonnées normalisées, qui permettront aux décideurs et au comité de pilotage de suivre\nl’accomplissement des objectifs nationaux et de pouvoir, en outre, comparer les résultats à ceux\nréférencés par l’UNESCO et prendre les décisions adéquates « concept Business Intelligence\nau programme GENIE ».\nC’est dans ce cadre que s’inscrit notre projet de fin d’études effectué au sein de l’entité\nresponsable du projet E-Education à l’ANRT afin de répondre aux besoins des clients. Il s’agit\ndonc de mettre en place un système dont les fonctions principales sont :\nAssurer le contrôle et le suivi d’usage des TIC dans les établissements au niveau national\ngrâce à des formulaires qui seront remplis par des inspecteurs et des données qui seront stockées\ndans une base de données unique d’une manière structurée.\nFaciliter la prise de décisions en prévenant un affichage multicritère des statistiques par le\ncalcul des indicateurs bien précis et présenter les statistiques à l’aide des chartes graphiques.\nLe présent rapport est subdivisé en quatre chapitres. Dans le premier, nous situons le projet\ndans son contexte général, ensuite nous présentons l’organisme d’accueil et nous exposons la\nproblématique et les objectifs du projet. De même, nous retracerons les étapes suivies pour la\nconduite du projet. Le deuxième chapitre viendra, par la suite, détailler explicitement la phase\nde l’analyse et de conception. Quant au troisième chapitre, il portera sur l’étude technique\neffectuée pour la réalisation du projet. Ensuite, le quatrième chapitre traitera la mise en œuvre.\nFinalement, nous terminerons par une conclusion générale qui va récapituler le travail\nélaboré et présentant les perspectives de ce travail.\nDans le présent chapitre, le projet de fin d’études sera placé dans son contexte général à\nsavoir, l’organisme d’accueil. Ensuite, nous allons parler du projet en présentant les besoins\nqui ont poussé à réaliser cette application ainsi que sa conduite en présentant ses objectifs\npour enfin terminer avec la planification du projet.\nA- L’organisme d’accueil\nL'agence Nationale de Réglementation des Télécommunications (ANRT) est l’établissement\npublic chargé de la régulation et de la réglementation du secteur des télécommunications.\nL’Agence est instituée auprès du Chef du Gouvernement et elle est dotée de la personnalité\nmorale et de l'autonomie financière.\nL’ANRT a été créée en février 1998, en application de la loi n° 24-96, relative à la Poste et\naux Télécommunications, qui a fixé les contours généraux de la réorganisation du secteur. En\nvertu de la loi n° 24-96 telle que modifiée et complétée par la loi n° 55-01 de 2004. 1\nPrésidée par le directeur général, l’agence nationale de réglementation des\ntélécommunications est organisée de la manière suivante :\nFigure 1: Organigramme de ANRT 2\nNotre projet de fin d’études s’est déroulé au niveau de l’entité responsable du projet E-\nEducation comme le montre la figure 1.\n1 Source : http://www.anrt.net.ma/lagence/presentation\n2 Source : http://www.anrt.ma/lagence/orga nisation/organigramme\nL’ANRT a pour mission de participer à la préparation des actes législatifs et réglementaires\nrégissant le secteur des télécommunications. L’Agence dispose des attributions nécessaires\npour élaborer de sa propre initiative ou à la demande de l'autorité gouvernementale compétente,\nles propositions visant à adapter le cadre juridique, économique et sécuritaire dans lequel\ns'exercent les activités de télécommunications, l’agence a été chargée notamment :\nDans le cadre de sa mission de réglementation du secteur, de préparer les projets de lois, de\ndécrets et d'arrêtés ministériels relatifs au régime juridique des activités des différents\nopérateurs intervenant dans le secteur des télécommunications. Pour ce faire, l'Agence est\ninvestie de pouvoirs de régulation juridique, technique et économique.\n- Le pouvoir de régulation juridique\nAppuyant le dynamisme d’un marché concurrentiel, l’ANRT, par son pouvoir de régulation\njuridique permet aux acteurs du secteur de mieux concrétiser leurs objectifs, en levant les\néventuelles entraves à la croissance du secteur, ou encore, en imposant des dispositions pour le\n- Le pouvoir de régulation technique\nLe pouvoir de régulation technique confère à l’ANRT la charge de l’élaboration de normes,\net du contrôle de l’application celles-ci.\n- Le pouvoir de régulation économique\nPour garantir les conditions d’une concurrence saine et loyale, favorables à un\ndéveloppement durable du secteur des télécommunications, l’Agence est investie du pouvoir\nde régulation économique, lui permettant d'intervenir sur le marché en cas de constatation\nd’abus. Pour assurer la réglementation économique du secteur.3\n4- Programme GENIE\nLe Programme GENIE entre dans le cadre d’une convention faite entre le Ministère de\nl’éducation national, sise à Avenue Anasr, Bab Rouah, Rabat 10.000, représenté par Monsieur\nAhmed AKHCHICHINE et l’ANRT, sise à Centre d’Affaires, Bd. Ar-Riad, Hay Ryad, B.P.\n2939, Rabat 10.100, créée par la Loi n°24-96, telle que modifiée et complétée, et représentée\npar M. Azdine EL MOUNTASSIR BILLAH, Directeur Général.\nLe programme GENIE au cœur du chantier de réforme du système éducatif, et ce, en parfaite\nharmonie avec le programme d’urgence de réforme de l’enseignement, à travers une meilleure\nimplication des cadres administratifs, enseignants et élèves et un suivi permanent des académies\nrégionales de l’éducation et de la formation.\nCôté infrastructure, 87% des établissements scolaires sont désormais équipés d’un\nenvironnement multimédia de base, avec un budget qui a atteint la bagatelle de 635 MDH : 2\nSource : http://www.anrt.net.ma/reglementation/presentation\n838 établissements sont équipés en salle multimédia (SMM) et de valise multimédia (VMM)\nDeuxième axe, la formation. 70% du programme de la feuille de route ont été réalisés, soit\n147 277 personnes qui ont été formées sur les 209 702 prévues au départ, avec un budget de\n116,5 MDH. La formation a touché enseignants, inspecteurs et directeurs\nd’établissements. Toujours au volet formation, 148 centres de formation ont été créés dans\ntoutes les académies, délégations et centres de formation initiale.\nAxe des ressources numériques, est une étape majeure, de ce programme GENIE depuis son\nlancement. Des matières format numérique sont mises à la disposition des enseignants et des\nélèves. Des supports qui permettent aux élèves de sortir de l’abstraction des cours pour accéder\nà des démonstrations réelles, avec vidéo, animation et exercice d’entraînement à l’appui.\nLe développement de l’infrastructure informatique et de la formation est accompagné, en\nparallèle, d’un développement des usages (ateliers de proximité, distribution de mallette\nd’information TICE et création d’un Observatoire national des usages de ces dernières), et d’un\ndéploiement d’une équipe de pilotage au niveau central et local. 4\nCi-dessous se présente l’organigramme de la direction du programme Génie :\nFigure 2: Organigramme de la direction du programme GENIE 5\nSource : BILAN DU PROGRAMME GENIE 2006-2013 et perspectives 2016-2021\nSource : PROGRAMME GENIE 2006-2013\nComité de pilotage Présidé par le chef de\nSecretariat général du MEN\nDirection du Programme GENIE\nB- Présentation de la problématique\nActuellement, l’introduction des Technologies de l’Information et de la Communication\n(TIC) et leur intégration dans l’enseignement au Maroc par la direction du Programme GENIE\natteignent leur dernière phase, ce qui nécessite le suivi du développement des usages de ces\ntechnologies au sein des établissements publics au Maroc.\nUne telle action ne peut se faire sans la réalisation de collectes de données normalisées, qui\npermettront aux décideurs et comité de pilotage de suivre l’accomplissement des objectifs\nnationaux et de pouvoir, en outre, comparer les résultats à ceux référencés par l’UNESCO et\nPour répondre aux objectifs cités ci-dessus, nous serons amenées à mettre en place une «\napplication web » dont les fonctions principales sont :\n Assurer le control et le suivi de l’usage des TIC dans les établissements au niveau\n Faciliter la prise de décisions en prévenant un affichage multicritère des statistiques.\nC- Etude de l’existant\nEn 2012, une enquête a été menée concernant l’intégration des TIC dans l’enseignement\npublic. L’enquête se basait sur la collecte des informations à travers le remplissage des\nformulaires imprimés sur papiers et distribués dans les établissements publics du pays dans le\nbut de réaliser des statistiques en se basant sur ces informations.\nLes types des formulaires qu’on utilisait sont les suivants :\nFormulaire pour les directeurs, formulaire pour les inspecteurs et un pour les enseignants.\nDans notre cas nous mettons l'accent sur le formulaire dédies au inspecteurs.\nChaque délégation collecte les formulaires remplis des établissements rattachés à cette\ndernière et procède à la saisie des données dont ils auront besoin pour réaliser les statistiques\nCette méthode gaspillait énormément de temps et de ressources. Le traitement des\ninformations et la déduction des décisions étaient également une tâche fastidieuse.\nPour cela l’organisme a décidé de :\n Informatiser la saisie des informations des formulaires pour faciliter la collecte des\ndonnées et pour gagner plus de temps ;\n Faire les statistiques et réaliser des rapports d’analyse de données ou des graphes ce\nqui facilitera la prise de décision.\nPour résoudre ce problème nous avons opté pour :\n La réalisation d’une application web pour les inspecteurs, destinée à la collecte des\ndonnées sous forme d’un formulaire(rapport) ;\n Traiter les données fournies dans le but de réaliser des statistiques ;\n Afficher le résultat des statistiques au comité décideur pour faciliter la prise de\nL’objectif majeur de notre projet est de réaliser une application web qui va faciliter le travail\npour les inspecteurs qui inspectent les quatre axes du programme GENIE dans les\nNotre application gérera les données des formulaires saisies par les inspecteurs, traitera,\nanalysera les données et finalement affichera le résultat de l’analyse sous forme de rapports ou\ngraphes aux décideurs pour leur faciliter la prise de décision.\nE- Stratégie de mise en œuvre\no Conduite du projet\nAprès la définition du contexte et de la problématique de notre projet ainsi que l’objectif\nassigné, nous abordons dans cette partie la démarche adoptée pour la résolution des problèmes\névoqués afin d’atteindre l’objectif suscité de notre système, nous avons adopté une démarche\npour bien mener notre projet et structurer son étude.\n1- Cycle de vie du système\nLe « cycle de vie d'un logiciel » désigne toutes les étapes du développement d'un logiciel,\nde sa conception à sa disparition. L'objectif d'un tel découpage est de permettre de définir des\njalons intermédiaires permettant la validation du développement logiciel, c'est-à-dire la\nconformité du logiciel avec les besoins exprimés, et la vérification du processus de\ndéveloppement, c'est-à-dire l'adéquation des méthodes mises en œuvre.\nL'origine de ce découpage provient du constat que les erreurs ont un coût d'autant plus élevé\nqu'elles sont détectées tardivement dans le processus de réalisation. Le cycle de vie permet de\ndétecter les erreurs au plus tôt et ainsi de maîtriser la qualité du logiciel, les délais de sa\nréalisation et les coûts associés. Le cycle de vie du logiciel comprend généralement au\nminimum les étapes suivantes :\n Définition des objectives :\nCette étape consiste à définir les objectifs du projet et son inscription dans une stratégie globale.\n Analyse des besoins et faisabilité :\nC’est-à-dire l’expression, le recueil et la formalisation des besoins du demandeur (le client) et\nde l’ensemble des contraintes, puis l’estimation de la faisabilité de ces besoins.\n Spécifications ou conception générale :\nIl s’agit de l’élaboration des spécifications de l’architecture générale du logiciel.\n Conception détaillée :\nCette étape consiste à définir précisément chaque sous-ensemble du logiciel.\n Codage (Implémentation ou programmation) :\nC’est la traduction dans un langage de programmation des fonctionnalités définies lors de la\n Tests unitaires :\nIls permettent de vérifier individuellement que chaque sous-ensemble du logiciel est\nimplémenté conformément aux spécifications.\n Intégration :\nL’objectif est de s’assurer de l’interfaçage des différents éléments (modules) du logiciel. Elle\nfait l’objet de tests d’intégration consignés dans un document.\n Qualification :\nC’est-à-dire la vérification de la conformité du logiciel aux spécifications initiales.\n Documentation :\nElle vise à produire les informations nécessaires pour l’utilisation du logiciel et pour des\n Mise en production :\nC’est le déploiement sur site du logiciel.\n Maintenance :\nElle comprend toutes les actions correctives (maintenance corrective) et évolutives\n(Maintenance évolutive) sur le logiciel.\nLa séquence et la présence de chacune de ces activités dans le cycle de vie dépend du choix\nd’un modèle de cycle de vie entre le client et l’équipe de développement. Ils existent plusieurs\nmodèles de cycles de vie d’un logiciel tels que : Modèle en cascade, en V, en spiral, par\n2- Comparaison entre les cycles de vie d’un logiciel\nLe tableau suivant décrit les quatre 4 modèles cités ci-dessus en les comparant selon les\ncritères ci-après :\no A quel moment utiliser tel ou tel modèle de cycle de vie\nCycle de vie Forces Faiblesses Utilisation\nCASCADE - Facile à comprendre et\n- Adapté pour une\n- Les limites de chaque\nétape sont visibles\n- Facilite un\n- La définition des\nbesoins est non-\n- La qualité prime sur le\n- Tous les besoins\ndoivent être bien\nspécifiés au départ\n- Donne une fausse\n- Pas d’interaction\nentre les phases de\n- L’intégration n’a lieu\nqu’à la fin du cycle\n- Le client peut se\nretrouver non satisfait\n- Pas de retour en\narrière d’une phase à\n- La phase de\nspécification a été très\n- La définition du\nproduit est stable\n- Il s’agit d’une\nnouvelle version d’un\n- L’implantation d’un\nproduit existant sur\nune nouvelle plate-\n- Une bonne maîtrise\nEN V - Facile à utiliser\n- Les tests sont effectués\n- Le contrôle se fait\n- Les phases de\nvalidation sont prises en\nmain très tôt dans le\n- Une mauvaise prise\nen compte des\n- Le processus n’est\nchangements de la\n- Ne contient pas les\nactivités d’analyses de\n- Les spécifications de\nbesoins doivent être\n- La solution à\ndévelopper et la\ntechnologie à utiliser\ndoivent être faits avant\n- Excellent pour les\nEN SPIRALE - Sans coût élevé, donne\ndes indications sur les\n- Les fonctions critiques\nà haut risque sont\ndéveloppées en premier\n- Le temps consacré à\nrisques est trop élevé\npour des petits projets\n- Le temps mis à\nplanifier, évaluer les\nrisques, fixer les\n- Les coûts et\nrisques est important\n- Pour des projets à\nrisque au moins\nlong terme dont les\n- La conception ne doit\npas forcément être\n- Les utilisateurs finaux\nassociés à toutes les\n- Le développement se\nfait en interaction avec\n- L’évolution du coût de\ndéveloppement est sous\n- Les utilisateurs ont dès\nle départ une vue\nprototypes peut être\n- Ce modèle est\n- Une expertise en\n- La spirale peut être\n- Il est difficile de\ndéfinir les objectifs et\nles points de validation\n- Les utilisateurs ne\n- La spécification des\nbesoins est complexe\nintervenir à cause par\nexemple de l’évolution\nde la recherche ou de\n- Le client peut valider\nchaque étape du\n- Utilise la méthode\n- La délivrance du\nproduit est rapide\n- Le coût de lancement\ndu projet est moindre\n- Un produit exploitable\npeut être délivré à tout\n- Les clients obtiennent\nmajeures du système\n- Le risque du\nchangement des besoins\n- Développe les\n- Requière une bonne\nplanification et une\n- Requière la définition\nsystème pour une\n- Le coût total du\nsystème n’est pas\n- Les différentes\ninterfaces doivent être\n- Sur un projet utilisant\n- Sur des projets ayant\n- Le besoin pour les\nconnaître dès le départ\nau départ mais\ncertaines ne seront\nutilisées que plus tard\n- Les risques, le\ncomplexité du logiciel,\nl’élaboration ou les\nbesoins pour les\nTableau 1 : Comparaison des cycles de vie d’un logiciel\nPour bien conduire notre projet et nous assurer du bon déroulement des différentes phases,\net puisque le besoin de notre client est clair depuis le départ du projet et il ne va pas être changé\npendant les phases de développement, nous avons opté pour le modèle en cascade comme\nméthodologie de conception et de développement. Ci-dessous, le modèle du cycle de vie en\nFigure 3 : Modèle du cycle de vie en cascade\nCe modèle ne comportait pas de possibilité de retour en arrière. Celle-ci a été rajoutée\nultérieurement sur la base qu’une étape ne remet en cause que l’étape précédente.\n3- Planification du projet\nSelon le cycle de vie décrit dans la section précédente, la planification est une étape\npréliminaire qui s’impose avant d’entamer tout projet informatique. Elle consiste à prévoir le\ndéroulement du projet tout au long des phases constituant le cycle.\nAinsi afin de bien mener notre projet, nous avons établi le diagramme de GANTT qui décrit\nles précisions concernant les différentes phases de projet\nFigure 4 : Planification prévisionnelle du projet\nCe premier chapitre a permis de présenter le contexte général du projet, notamment un bref\ndescriptif de l’organisme d’accueil, la formulation de l’objectif du projet. Il a permis\négalement l’annonce de la démarche adoptée pour la conduite du projet ainsi que son\nLe chapitre suivant présente l’analyse et la spécification des besoins fonctionnels et non\nfonctionnels de ce processus ainsi que l’architecture de notre projet.\nLe cycle de vie en cascade est organisé suivant six phases dont la première est la phase\nd’analyse et conception. Cette phase est la plus importante dans le cycle de développement\ncascade puisqu'elle influence directement la réussite des autres phases et par conséquence tout\nCette phase fera donc l’objet de ce chapitre où nous commençons par la collecte des différents\nbesoins et l’identification des rôles des utilisateurs, qui ont pour but d’expliquer le\ndéroulement de notre application ainsi qu’assurer une bonne compréhension des besoins des\nA- Collecte et analyse des besoins\nLes besoins fonctionnels ou les cas d’utilisations peuvent être définis comme suit : « Un cas\nd’utilisation (use case) représente un ensemble de séquences d’actions réalisées par le système\net produisant un résultat observable intéressant pour un acteur particulier. »\nLes attributions des acteurs de l’application :\nAdministrateur : s’authentifie à travers un login et un mot de passe, puis aura la possibilité\nd’ajouter un nouveau compte, supprimer ou modifier un compte existant ou activer ou\ndésactiver tous les comptes.\nInspecteur : introduit son login et mot de passe pour accéder au remplissage des données\ndans le rapport, puis enregistre les données.\nL’enregistrement peut se faire de manière partielle (si l’utilisateur ne remplit pas tous les\nchamps du formulaire, seul les champs renseignés qui seront stockés dans la base de données.\nUne fois l’utilisateur se reconnecte, l’application lui affiche le formulaire avec les champs qu’il\na déjà renseignés et qui ont été stockés dans la base de données. Ainsi, il n’a qu’à remplir les\ninformations manquantes ou modifier les informations existantes).\nDécideur : se connecte à l’application à travers un login et un mot de passe. L’application\nlui affiche une interface contenant toutes les variables de base sur lesquelles la réalisation des\nstatistiques doit se baser pour produire des rapports ou des graphes qui seront récupérés par\nl’application et affichés au comité décideur.\nBesoin fonctionnels :\nLes besoins fonctionnels représentent les principales fonctionnalités du système. Ces besoins\nproviennent généralement des utilisateurs du système. Cette application devra permettre :\n L’Authentification : permet la connexion des diffèrent utilisateurs.\n La Gestion des comptes : Cette partie permet l’ajout et la suppression des différents\n La saisie et l’enregistrement des données par les inspecteurs ;\n L’affichage des rapports d’analyse de données.\nBesoin non fonctionnels\nMis à part les besoins fondamentaux, notre futur système doit répondre aux critères suivants :\n La performance : le système doit être avant tout performant c'est-à-dire à travers ses\nfonctionnalités, il doit répondre à toutes les exigences des utilisateurs d’une manière\n La convivialité : notre système doit être facile à utiliser. En effet, les interfaces\nutilisateurs doivent être conviviales c'est-à-dire simples, ergonomiques et adaptées à\n La confidentialité : nous devons garantir une sécurité optimale. Ainsi, les droits d’accès\nau système doivent être bien attribués, afin d’assurer la sécurité des données.\n Besoins de Mobilité : Notre application doit être caractérisée par sa mobilité, elle sera\naccessible depuis n’importe quel ordinateur connecté à internet, sans avoir besoin d’une\ninstallation. Elle sera accessible aussi depuis les mobiles et les tablettes.\nB- Architecture fonctionnelle du système\nAvant de se lancer dans la conception et le développement de tout système informatisé, il\nest important de préparer l’architecture de ce dernier. Le terme architecture est vaste puisqu’il\ny peut désigner l’architecture logique, l’architecture physique, architecture logicielle, etc. Dans\nce paragraphe nous nous intéressons à l’architecture du processus qui décrit le traitement interne\nFigure 5 : Architecture fonctionnelle de la gestion et pilotage des enquêtes\nNotre système de suivi se compose d’une première partie gérée par un administrateur pour\nfaire la préparation initiale de l’environnement ainsi que la maintenance du système par l’ajout\net l’édition des formulaires ainsi que la gestion des utilisateurs. Chaque utilisateur a un espace\npersonnel protégé par un nom d’utilisateur et un mot de passe. Chaque inspecteur on lui infecte\nune ou plusieurs établissements puis viens la tache remplissage des formulaires. Ces questions\nsont regroupées dans des sections différentes (Infrastructure, Formation, Ressources\nNumériques, Développement des usages et Pilotages). Les réponses sont stockées dans une base\nde données centralisée après la validation des champs saisis. Ce qui va permettre aux décideurs\net aux responsables d’extraire les données sous forme de statistiques. L’analyse et de ces\nrésultats et leur comparaison avec les normes de L’Institut de statistique de l’UNESCO vont\nfaciliter la prise de décisions à l’échelle nationale ainsi que régionale.\nC- Méthodologie de conception\nUML est idéal pour :\nConcevoir et déployer une architecture logiciel développée dans un langage objet (Java, C++,\nPour modéliser les données (la couche d’accès aux données (DAL))\nPour modéliser le fonctionnement métier (le diagramme d'activité et de cas d'utilisation) qui\nsont des formalismes très anciens.\no La démarche adoptée\nNous adoptons UML comme langage de modélisation puisque nous allons utiliser le concept\nde l’orienter objet, à travers le Framework .NET qui est basé sur C#, pour développer\nl’application de suivi et d’évaluation d’usage des TIC. Ainsi, la méthodologie de conception\nadoptée se base sur le choix de diagrammes UML adéquats. Nous avons utilisé cinq\ndiagrammes : diagramme de cas d’utilisation, diagramme d’activités, diagramme de séquence,\ndiagramme de classes et le diagramme de déploiement. Le schéma suivant représente les\ndiagrammes de conception qui seront utilisés :\nFigure 6 : Les diagrammes de conception\nD- Les diagrammes de conception\n1- Diagramme de cas d’utilisation\nDans cette section nous présentons les besoins de notre système de manière formelle. C'est-\nà-dire en utilisant le diagramme des cas d’utilisation du langage de modélisation UML.\n1-1. Diagramme de package\nAvant de présenter les diagrammes de cas d’utilisation de notre système, dans ce paragraphe\nnous nous intéressons au diagramme de package en terme d’UML qui décrit l’ensemble des\nFigure 7 : Diagramme de package\n1-2. Diagramme de cas d’utilisation\nUn cas d’utilisation permet de mettre en évidence les relations fonctionnelles entre les\nacteurs et le système étudié. Nous présentons dans cette partie les diagrammes des cas\nd’utilisation des différentes parties de notre système.\n1-3. Description textuelle des cas d’utilisation\nPour rendre notre diagramme des cas d’utilisation plus compréhensible et afin de décrire le\ncomportement d’un système, les concepteurs d’UML proposent l’utilisation d’une technique\nnommée la description textuelle des cas d’utilisation.\nCas d’utilisation S’authentifier\nPré-condition L’utilisateur doit être créé dans la base de données et connaître ses\nPost-condition L’utilisateur accède aux fonctionnalités de l’application.\nScénario nominal 1. Le système affiche le formulaire d’authentification\n2. L’utilisateur remplit le formulaire avec l’ensemble des informations\nnécessaires à son identification. (Nom d’utilisateur et le mot de passe).\n3. Le système vérifie les informations saisies par l’utilisateur. Et\nrenvoie vers la page d’accueil en affichant son profil.\nScénario alternatif 3. a-1. L’utilisateur n’as pas saisie les bons identifiants.\n3. a-.2. Le système renvoie un message d’erreur et signale à\nl’utilisateur de recommencer.\n3a.-3. L’utilisateur n’existe pas dans la base de données.\n3a-4. Le système invite l’utilisateur à s’authentifier.\nTableau 2 : Description textuelle des cas d’utilisation « authentifier »\nCas d’utilisation Remplir le formulaire\nPré-condition Authentification préalable\nPost-condition Les réponses s’enregistrent au niveau de la base de données.\nScénario nominal 1-l’utilisateur demande le formulaire.\n2-le système affiche le formulaire\n3- l’utilisateur rempli les champs et valide\n4-le système vérifie les données saisies (Format des zones de saisie et\nles champs obligatoires)\n5-le système enregistre les nouvelles informations et affiche le\nmessage : Données sauvegardées avec succès.\nScénario alternatif 4-a- l’utilisateur saisie des données manquantes (champs avec une\nétoile rouge après leur libellé (*).)\n4-a-1-le système affiche un message d’erreur\n4-a-2-reprise de l’étape 3 du scénario nominal\nTableau 3 : Description textuelle des cas d’utilisation « Remplir le formulaire »\nCas d’utilisation Consulter\nActeurs Administrateurs, décideurs, inspecteurs\nPré-condition Une authentification préalable.\nPost-condition La liste est affichée\nScénario nominal 1-demande l’affichage de la liste de : formulaire, catégorie profile,\nquestion, utilisateur, choix.\n2-le système affiche la liste sélectionnée.\nScénario alternatif 2-a-aucun résultat\n2-a-1-le système affiche un message de type « aucun résultat trouvé »\nTableau 4 : Description textuelle des cas d’utilisation « Consulter »\nCas d’utilisation Ajouter un rapport\nPost-condition Un rapport est ajouté\nScénario nominal 1-le système affiche l’interface d’ajout\n2- l’inspecteur rempli les champs obligatoires et valide.\n3-le système vérifie les données saisies.\n4-le système enregistre le nouveau rapport et affiche le message :\nScénario alternatif 3-a- L’inspecteur saisie des données manquantes.\n3-a-1-le système affiche un message d’erreur\n3-a-2-reprise de l’étape 2 du scénario nominal.\nTableau 5 : Description textuelle des cas d’utilisation « Ajouter un rapport »\nCas d’utilisation Modifier un rapport\nPré-condition Une authentification préalable\nPost-condition Le rapport a été bien mis à jour\nScénario nominal 1-L’inspecteur choisi le rapport à modifier\n2-le système affiche l’interface de modification\n3- L’inspecteur modifie les informations et valide\n4-le système vérifie les données saisies\n5-le système enregistre les données et affiche un message de succès\nScénario alternatif 4-a- L’inspecteur saisie des données manquantes\n4-b- le système ne peut pas charger le rapport\n4-b-1-le système demande à l’inspecteur de le recharger.\n4-b-2-reprise de l’étape 3 du scénario nominal\nTableau 6 : Description textuelle des cas d’utilisation « Modifier un rapport »\nCas d’utilisation Consulter les statistiques\nPost-condition Les statistiques sont affichées\nScénario nominal 1-l'utilisateur demande l’affichage des statistiques.\n2-le système affiche les statistiques\n2-a-1-le système affiche un message de type « aucun résultat\nTableau 7 : Description textuelle des cas d’utilisation « Consulter les statistiques »\nLister les rapports\nCas d’utilisation Lister des rapports\nPost-condition La liste des rapports est affichée\nScénario nominal 1-L’utilisateur demande l’affichage de la liste des rapports\n2-le système affiche la liste des rapports\nTableau 8 : Description textuelle des cas d’utilisation « Lister les rapports »\nCas d’utilisation Ajouter un utilisateur\nPost-condition Un nouvel utilisateur ajouté\nScénario nominal 1- Administrateur demande l’interface d’ajout.\n2-le système affiche l’interface d’ajout\n3- Administrateur rempli les données du nouvel utilisateur.\n4-le système vérifie les données saisies (Format des zones de saisie\net les champs obligatoires)\n5-le système enregistre le nouvel utilisateur et affiche le message :\nScénario alternatif 4-a- Administrateur saisie des données manquantes (champs avec\nune étoile rouge après leur libellé (*).)\nTableau 9 : Description textuelle des cas d’utilisation « Ajout utilisateur »\nCas d’utilisation Exporter les statistiques\nPost-condition Le fichier a été bien enregistré dans la machine de l’utilisateur\nScénario nominal 1-L’inspecteur choisi l’extension de fichier (PDF, XLS.)\n2-le système affiche le fichier à télécharger.\n3- L’utilisateur télécharge le fichier\nScénario alternatif 4-a- Utilisateur saisie des données manquantes (champs avec une\nTableau 10 : Description textuelle des cas d’utilisation « Exporter les statistiques »\n2- Diagramme d’activités\nUn diagramme d'activités permet de modéliser un processus interactif, global ou partiel pour\nun système donné (logiciel, système d'information). Il est recommandable pour exprimer une\ndimension temporelle sur une partie du modèle, à partir de diagramme de classe ou de cas\nd'utilisation, par exemple. Le diagramme d'activités est une représentation proche de\nl'organigramme ; la description d'un cas d'utilisation par un diagramme d'activités correspond à\nsa traduction algorithmique.\nUne activité est l'exécution d'une partie du cas d'utilisation, elle est représentée par un\nrectangle aux bords arrondis. Les actions en bleu sont effectuées par l’utilisateur alors que les\nactions en orange sont effectuées par le système.\nDans ce qui suit, nous présentons les diagrammes d’activités pour quelques cas d’utilisation\n2-1. Diagramme d’activités de cas d’utilisation « s’identifier »\nPour accéder à notre application, l’utilisateur doit s’authentifier en entrant son login et son\nmot de passe. Le processus d’authentification peut être résumé dans le diagramme d’activités\nFigure 9 : Diagramme d’activités de cas d’utilisation « s’identifier »\n2-2. Diagramme d’activités de cas d’utilisation « gestion des comptes »\nLe diagramme d’activité suivant représente les activités que l’Administrateur doit réaliser\ndans le but de gérer les comptes des utilisateurs.\nFigure 10 : Diagramme d’activités de cas d’utilisation « gestion des comptes »\n2-3. Diagramme d’activités de cas d’utilisation « gestion des formulaires »\nCe diagramme représente les différentes manipulations sur un formulaire après\nFigure 11 : Diagramme d’activités de cas d’utilisation « gestion des formulaires »\n2-4. Diagramme d’activités de cas d’utilisation « remplissage de formulaire »\nLe diagramme d’activité suivant montre les étapes pour remplir un formulaire.\nFigure 12 : Diagramme d’activités de cas d’utilisation « remplissage de formulaire »\n3- Diagramme de séquence\nPour schématiser la vue comportementale de notre système informatique, nous faisons\nrecours aux diagrammes de séquence d’UML. Ce type de diagramme permet de présenter les\ninteractions entre l’acteur et le système avec des messages présentés dans un ordre\nchronologique. Le digramme de séquence traite le système informatique comme étant une boite\nnoire. Le comportement du système est décrit de l’extérieur sans avoir d'idée sur comment il le\nEn nous référant aux descriptions textuelles dans la section précédente, nous présentons les\ndiagrammes de séquences adéquats.\n3-1. Diagramme de séquence du cas d’utilisation « s’authentifier »\nLe diagramme de séquence suivant symbolise les échanges effectués entre l’utilisateur et le\nsystème qu’on peut résumer dans l’envoie du login et le mot de passe par l’utilisateur et\nl’affichage des interfaces graphiques selon la catégorie par le système comme feedback.\nFigure 13 : Diagramme de séquence du cas d’utilisation « s’authentifier »\n[user == exists]\n[user == not exists]\nalt si user est un admin\n[user == "ADMIN_ROLE"]\n[user == "INSPECTEUR_ROLE"]\n[user == "DECIDEUR_ROLE"]\n3-2. Diagramme de séquence du cas d’utilisation « Gestion des comptes »\nLes échanges représentés sur le diagramme en dessous consistent à ce que l’Administrateur\nchoisit l’opération qu’il désire effectuer puis procède à l’exécution.\nFigure 14 : Diagramme de séquence du cas d’utilisation « Gestion des comptes »\nsd Gestion des comptes\n[op == ajout_user()]\nalt modification ou suppression\n[op == (supp() || modif())]\n[op == (activer() || désactiver() )]\n3-3. Diagramme de séquence du cas d’utilisation « remplissage formulaire »\nSur la figure suivante se présentes les différents échanges entre l’utilisateur et le système\npour remplir les formulaires.\nFigure 15 : Diagramme de séquence du cas d’utilisation « remplissage formulaire »\nsd remplissage formulaire\nalt formulaire déjà rempli\n[form == rempli()]\nAuthentification(login, password): Bool\n3-4. Diagramme de séquence du cas d’utilisation « modifier formulaire »\nSur le diagramme de séquence suivant se présentent les différents échanges entre l’utilisateur\net le système pour réaliser le processus de modification des enregistrements et qui nécessite\nobligatoirement l’existence de l’enregistrement à l’avance.\nFigure 16 : Diagramme de séquence du cas d’utilisation « modifier formulaire »\nsd modifier formulaire\nalt si formulaire déjà rempli\n[row == exists]\n3-5. Diagramme de séquence du cas d’utilisation « affichage reporting »\nLe décideur choisit la variable de base pour déclencher le mécanisme de réalisation des\nFigure 17 : Diagramme de séquence du cas d’utilisation « affichage reporting »\n4- Diagramme de classe\nLe diagramme des classes participantes permet de faire la jonction entre les cas d’utilisation,\nles modèles de la couche métiers et l’interface avec l’utilisateur. Dans un diagramme de classes,\nnous pouvons distinguer trois stéréotypes qui sont :\nsd Affichage reporting\nDécideur SystèmeDiagramme de séquance\nAuthentification(login, password): boolean\n4-1. Classe utilisateur\nFigure 18 : Diagramme de classe « Utilisateur »\n# age: int\n# cin: String\n# id: int\n# nom: String\n# prenom: String\n+ getage(): int\n+ getcin(): String\n+ getnom(): String\n+ getprenom(): String\n+ setage(int): void\n+ setcin(String): void\n+ setid(int): void\n+ setnom(String): void\n+ setprenom(String): void\n- login: String\n- passwordHash: String\n- verouille: boolean\n+ getlogin(): String\n+ getpassword(): String\n+ isverouille(): boolean\n+ setlogin(String): void\n+ setpassword(String): void\n+ setverouille(boolean): void\n- nom: String\n- numDRPP: String\n+ getnumDRPP(): String\n+ setnumDRPP(String): void\n4-2. Classe Rapport\nFigure 19 : Diagramme de classe « Rapport »\n- valide: bool\n«property get, property»\n+ getdate(): Date\n+ isvalide(): bool\n+ setdate(Date): void\n+ setvalide(bool): void\n- ie1_1: int\n- ie1_2: int\n- ie2_1: int\n- ie2_2: int\n- ie3_1: int\n- ie3_2: int\n- ie4_1: int\n- ie4_2: int\n- ie5_1: int\n- ie5_2: int\n- ie6_1: int\n- ie6_2: int\n- ie7_1: int\n- ie7_2: int\n- ie8_1: int\n- ie8_2: int\n- ie9_1: int\n- ie9_2: int\n- if1: int\n- if10: int\n- if11: int\n- if12: int\n- if13: int\n- if14: int\n- if15: int\n- if16: int\n- if17: int\n- if2: int\n- if3: int\n- if4: int\n- if5: int\n- if6: int\n- if7: int\n- if8: int\n- if9: int\n- rn1: int\n- rn2: int\n- rn3: int\n- rn4_amazighe: int\n- rn4_ar: int\n- rn4_encyclopedie: int\n- rn4_eveil_sc: int\n- rn4_logiciel_geo: int\n- rn4_maths: int\n- rn4_pc: int\n- rn4_primaire: int\n- rn4_secondaire: int\n- rn4_svt: int\n- rn4_tech_sc_ing: int\n- rn5_amazighe: int\n- rn5_ar: int\n- rn5_encyclopedie: int\n- rn5_eveil_sc: int\n- rn5_logiciel_geo: int\n- rn5_maths: int\n- rn5_pc: int\n- rn5_primaire: int\n- rn5_secondaire: int\n- rn5_svt: int\n- rn5_tech_sc_ing: int\n- rn6: int\n- rn7: int\n- du1: int\n- du10: int\n- du11: int\n- du2_primaire: int\n- du2_secondaire_collegial: int\n- du2_secondaire_qualifiant: int\n- du3: int\n- du4: int\n- du5_crmef: int\n- du5_etabs: int\n- du6: int\n- du7: int\n- du8: int\n- du9: int\n- p1: boolean\n- p2: boolean\n- p3: boolean\n- p4: boolean\n- p5: float\n4-3. Classe Etablissement\nFigure 20 : Diagramme de classe « Etablissement »\n- adresse: String\n- code_gresa: String\n- nom_etablissement: String\n- nouvelle_aref: String\n- nouvelle_delegation: String\n+ getadresse(): String\n+ getcode_gresa(): String\n+ gettype(): String\n+ nom_etablissement(): String\n+ nouvelle_aref(): String\n+ nouvelle_delegation(): String\n+ setadresse(String): void\n+ setcode_gresa(String): void\n+ settype(String): void\n4-4. Diagramme de classe global\nFigure 21 : Diagramme de classe global\n4-5. Dictionnaire de données :\nClasse Mnémonique Libellé Type Contraint\nUtilisateur Id Identifiant Bigint Clé\nCin Carte d’identité nationale nvarchar(10)\nNom Nom de l’utilisateur nvarchar(50)\nPrenom Prénom de l’utilisateur nvarchar(50)\nAge Age d’utilisateur Int\nRole Id Identifiant Bigint Clé\nNom Nom nvarchar(MA\nCompte Id Identifiant Bigint Clé\nLogin Login nvarchar(128\npasswordHash Mot de passe nvarchar(128\nInspecteur NumDRPP Identifiant de l’inspecteur varchar(255)\nId Identifiant Bigint Clé\nNom Nom nvarchar(50)\nPrenom Prénom nvarchar(50)\nAge Age Int\nAdministrateur Id Identifiant Bigint Clé\nDecideur Id Identifiant Bigint Clé\nEtablissement Code_gresa Identifiant varchar(255) Clé\nAdresse Adresse varchar(255)\nNouvelle_aref Académie régionale de\nl’éducation et formation\nType Type varchar(255)\nRapport Id Identifiant Int Clé\nDate Date visite varchar(10)\nid_etablissement Identifiant établissement varchar(255) Clé\ndrpp_inspecteur Identifiant inspecteur varchar(255) Clé\nid_infrastructure Identifiant axe infrastructure Int Clé\nid_formation Identifiant axe formation Int Clé\nIdentifiant axe ressource\nid_usage Identifiant axe usage Int Clé\nid_pilotage Identifiant axe pilotage Int Clé\nId Identifiant Int Clé\nie1_1 Nombre de Pannes Matérielles\ndétectées GENIE 1\nie1_2 Nombre de Pannes Matérielles\ndétectées GENIE 2\nie2_1 Nombre de Pannes Matérielles\nrésolues GENIE 1\nie2_2 Nombre de Pannes Matérielles\nrésolues GENIE 2\nie3_1 Nombre de Pannes Logicielles\nie3_2 Nombre de Pannes de\nConnexion détectées GENIE 2\nie4_1 Nombre de Pannes Logicielles\nie4_2 Nombre de Pannes Logicielles\nie5_1 Nombre de Pannes de\nConnexion détectées GENIE 1\nie5_2 Nombre de Pannes de\nie6_1 Nombre de Pannes de\nConnexion résolues GENIE 1\nie6_2 Nombre de Pannes de\nConnexion résolues GENIE 2\nie7_1 Nombre de SMM mises à niveau\nie7_2 Nombre de SMM mises à niveau\nie8_1 Nombre de licences des logiciels\nMicrosoft réinstallés dans les\nSMM GENIE 1\nie8_2 Nombre de licences des logiciels\nSMM GENIE 2\nrn1 Nombre d’établissements\nn’ayant pas reçu les ressources\nrn2 Organisation du concours\nrégional de production de RN, y\ncompris les vidéos pour le\nrn3 Organisation du concours\nprovincial de production de RN,\ny compris les vidéos pour le\nrn4_maths Nombre d'inspecteurs à initier à\nl'usage des RN acquises dans le\ncadre du programme GENIE\nrn4_pc Nombre d'inspecteurs à initier à\nrn4_eveil_sc Nombre d'inspecteurs à initier à\nrn4_ar Nombre d'inspecteurs à initier à\nrn4_logiciel_geo Nombre d'inspecteurs à initier à\nrn4_amazighe Nombre d'inspecteurs à initier à\nrn4_tech_sc_ing Nombre d'inspecteurs à initier à\nrn4_encyclopedie Nombre d'inspecteurs à initier à\nMultimédia en Arabe)\nrn4_primaire Nombre d'inspecteurs à initier à\nrn4_secondaire Nombre d'inspecteurs à initier à\nrn4_svt Nombre d'inspecteurs à initier à\nrn5_maths Nombre de Prof. à encadrer à\nl’usage des RN(Mathématique)\nrn5_pc Nombre de Prof. à encadrer à\nl’usage des RN(Physique -\nrn5_svt Nombre de Prof. à encadrer à\nl’usage des RN(SVT)\nrn5_eveil_sc Nombre de Prof. à encadrer à\nl’usage des RN(Eveil\nrn5_ar Nombre de Prof. à encadrer à\nl’usage des RN(Arabe)\nrn5_logiciel_geo Nombre de Prof. à encadrer à\nl’usage des RN(Logiciel\nrn5_amazighe Nombre de Prof. à encadrer à\nl’usage des RN(Amazighe)\nrn5_tech_sc_ing Nombre de Prof. à encadrer à\nl’usage des RN(Science\nrn5_encyclopedie Nombre de Prof. à encadrer à\nl’usage des RN(Encyclopédie\nNumérique Multimédia en\nrn5_primaire Nombre de Prof. à encadrer à\nl’usage des RN(Primaire)\nrn5_secondaire Nombre de Prof. à encadrer à\nl’usage des RN(Secondaire)\nrn6 Nombre de contenus numériques\ndéposés pour la validation\nV@REN année 2015\nrn7 Nombre de vidéos, produites et\nproposées pour le soutien\nscolaire (TelmideTICE &\nconcours des bonnes vidéos\nintégrant les TICE)\nAxe_formation Id Identifiant Int Clé\nif1 Formation en présentiel relatives\naux modules PDP-TICE\nif2 Formation en présentiel relatives\naux modules TICE & VS\nif3 Formation en présentiel relatives\naux modules TBI\nif4 Formations relatives aux\nmodules PDP-TICE utilisant le e-\nif5 Formations relatives aux\nmodules TICE & Vie Scolaire\nutilisant le e-learning\nif6 Regroupement des RH ( modules\nPDP-TICE utilisant le e-\nif7 Regroupement des RH ( modules\nTICE & Vie Scolaire utilisant le\nif8 Formation en présentiel pour\npasser la certification Niv, 1\nif9 Formation en présentiel pour\npasser la certification Niv, 2\nif10 Formation en ligne pour passer la\nif11 Nombre de Certifications Niv, 1\nif12 Nombre de Certifications Niv, 2\nif13 Nombre de Certifications MCE Int\nif14 Formation des Conseillers TICE\nif15 Achat des Vouchers (CPS\nModèle) et adhésion à l’IT\nif16 Création des Centres d’Examen\nCertificatif IT ACADEMY\nif17 Renseigner la base de données\npour le suivi des Formations\nAxe_pilotage Id Identifiant Int Clé\np1 Création de l’Unité TICE\np2 Mise à jour de la liste des\ncoordonnateurs régionaux et\nprovinciaux et des conseillers\np3 Création d’une base de données\np4 Création d’une base de données\ndes conseillers (Morchid) au\nniveau des Etablissements\np5 Taux de création des\nAxe_usages Id Identifiant Int Clé\ndu1 Nb d’Ateliers de Partage, de\ndu2_primaire Nb d’Etablissements ayant reçu\nle Kit TICE(Primaire)\nNb d’Etablissements ayant reçu\nle Kit TICE(Secondaire\ndu3 Nb d’Inspecteurs ayant reçu le\ndu4 Nb de Professeurs ayant reçu le\ndu5_etabs Nb de campagnes d’information\net de sensibilisation TICE\norganisées dans les\ndu5_crmef Nb de campagnes d’information\norganisées dans les CRMEF\ndu6 Nb de partenariats réalisés Int\ndu7 Nb de contributions à\nl’alimentation du portail TICE en\ndu8 Organisation de la compétition\ndu meilleur établissement\nscolaire qui exploite et développe\ndu9 Organisation de la compétition\nde la meilleure pratique\npédagogique intégrant les TIC\ndu10 Les projets pilotes (Kidsmart\nIBM, Tablettes, SkillPass,\nScratch ou autres) expérimentés\ndans votre AREF\ndu11 Autres événements ou initiatives,\nde nature à développer les usages\ndes TICE, organisés au niveau\nprovincial ou régional\nTableau 11 : Dictionnaire de données\nE- Aspect sécurité\nLa sécurité de notre système ne peut donc plus être ignorée. Face aux risques liés à des\napplications Web dont la complexité et l’omniprésence ne cessent de croître, les décideurs\ndoivent initialiser les actions permettant d’assurer un niveau de sécurité suffisant pour ces\napplications utilisées par leur entreprise. De même que pour la qualité, le management doit\ndéfinir les objectifs liés à la sécurité, déléguer les tâches de réalisation et s’assurer de l’atteinte\ndes objectifs. Négliger de telles mesures représenterait une prise de risque conséquente sur le\nmarché actuel. La sécurité des applications Web doit être prise en compte dès la conception,\ndurant le développement, lors de l’intégration et durant toute la vie de l’application. Elle doit\nfaire partie intégrante de l'application, et non être ajoutée à la fin du cycle de développement.\nAu-delà de la conception et de l’implémentation, la sécurité d’une application Web doit en outre\nêtre testée et vérifiée avant la mise en production et lors de ses évolutions. Le management doit\ndonc s’assurer que les différentes parties prenantes, MOA (Maîtrise d’Ouvrage), chef de projet,\ndéveloppeurs, comprennent les enjeux, connaissent et mettent en œuvre les bonnes pratiques.\nLa majorité des failles de sécurité que l’on peut trouver dans les applications Web peuvent\nêtre classées en trois grandes familles :\n- La gestion incorrecte de l’authentification, des habilitations et du contrôle\n- Les failles de type « injection »\n- Les fuites d’information\nDans ce qui suit nous allons expliquer les failles qui concernent notre application :\nLa gestion incorrecte de l’authentification, des habilitations et du contrôle d’accès\nLes paramètres d’authentification, d’habilitation et de contrôle d’accès soumis (par\nl’utilisateur, ou d’application à application) sont bien souvent incorrectement pris en compte,\ngérés ou contrôlés. Cette situation peut entraîner des risques d’usurpation d’identité et d’accès\nà des fonctionnalités ou données illégitimes, et donc d’atteinte à la confidentialité ou à\nl’intégrité des données. Le risque est exacerbé par le fait que le fonctionnement par défaut d’un\nserveur Web est d’autoriser l’accès au contenu publié. Si un contenu spécifique doit être\nfonctionnellement restreint à certains utilisateurs seulement, le développeur doit mettre\nexplicitement en place des mécanismes d’authentification, d’habilitation et de contrôle d’accès\npour protéger chaque contenu (pages Web notamment) devant être protégé. Pour notre\napplication nous allons utiliser un module d’authentification (, Identity Framework …) pour le\nLes failles de type « injection »\nL'injection de données est une technique consistant à insérer (i.e. Injecter) des données\nspécialement formées en entrée d'une fonction, d'un programme ou d'un script afin de les\ndétourner de leur fonction d'origine (e.g. modification de base de données, récupération\nd’informations sensibles, etc.). Des failles de type injection peuvent par exemple exister pour\nles accès en base de données (SQL injection), la construction de pages Web dynamiques (Cross\nSite Scripting) En injectant des données non prévues par l’application Web, un attaquant peut\ninfluer sur le fonctionnement même de l’application, voire compromettre un environnement\napplicatif complet. C’est donc tout autant la disponibilité, que l’intégrité et la confidentialité\ndes données qui peuvent ne plus être assurées. Les attaques de type Injection sont facilitées par\nla possibilité pour un attaquant d’utiliser des outils de type « proxy local » librement disponibles\nsur Internet. Ces outils lui permettent d’injecter dans les champs de formulaires ou entêtes\nHTTP des données spécifiquement composées pour permettre d’exploiter les failles, quelles\nque soient les protections mises en place côté navigateur Web.\nCe chapitre a donné l’aspect conceptuel de notre application, où on a détaillé l'ensemble des\ndiagrammes de conception indépendamment de la plateforme matérielle et logicielle du\nprojet. Le chapitre suivant fera l’objet d’une étude technique qui justifiera le choix des\ntechnologies pour la réalisation de l’application.\nCe chapitre sera consacré à la présentation des langages et des outils de programmation\nutilisés pour la réalisation de notre application ainsi que l’architecture technique de notre\no Contexte technologique\n1- Définition d’une application web\nUne application web est une application qui s’exécute par le biais d’un navigateur Web et\ndonc développée par un langage de programmation compatible avec les navigateurs côté client\nHTTP côté serveur. Les applications web se sont popularisées grâce à la forte présence des\nnavigateurs web dans le monde et leur facilité d’utilisation. La possibilité de maintenir à jour\nles applications web, sans perturber les milliers d’utilisateurs, est la raison principale de cette\npopularité tout comme la compatibilité intrinsèque entre les différents systèmes d’exploitation.\nDans la réalisation d’une application web, la gestion d’un contexte utilisateur est essentielle\nsi on souhaite offrir une expérience personnalisée lors de leur navigation sur les pages d’un site.\nCela permet à l’application de déterminer par exemple avec quel utilisateur elle communique,\net ainsi, d’afficher à l’écran des informations auxquelles d’autres utilisateurs n’ont pas accès.\nCela répond exactement au besoin de sécurité de notre système.\n2- Architecture technique\nL’expression des besoins opérationnels mentionnés dans des sections précédentes\nimpliquent des contraintes relatives à la configuration du réseau matériel, les performances\nd’accès aux données ainsi que la sécurité du système, l’intégration des applications et le mode\nd’utilisation du système. Afin de concevoir notre application, nous avons opté pour\nl’architecture 3-tiers. Elle représente la solution la plus adaptée à notre système car elle nous\n- Des meilleures performances grâce à la répartition des charges de travail.\n- Une disponibilité de l’information en temps réel.\n- Une répartition des tâches entre les acteurs du système\nL’architecture technique de notre système est schématisée comme suit :\nFigure 22 : L’architecture matérielle du système\nComme le montre la figure, notre architecture se compose de trois couches :\n- La couche de données : qui fait l’interfaçage avec la base de données et assure\n- La couche métier : qui correspond à la mise en œuvre de l'ensemble des règles\nde gestion et de la logique applicative.\n- La couche présentation : qui correspond à l'affichage, et l’interfaçage avec\nCette architecture fournit un découplage faible entre les différentes couches de l’application,\nelle permet l’évolutivité de l’application et son amélioration, elle facilite aussi sa maintenance\net son test.\n3- Choix techniques\n3-1. L’architecture MVC\nSur le plan logique, notre architecture (3tiers) est mise en œuvre suivant le modèle MVC\n(Modèle Vue Contrôleur). En effet, la spécification d’une architecture à composants métier 3-\ntiers implique la répartition des composants d’exploitation suivant les responsabilités.\nLe modèle MVC établit le diagramme suivant :\nFigure 23 : Diagramme architecture MVC\nLe modèle : il décrit les données utilisées. C’est lui qui va interagir avec la base de données,\npermettre des mises à jour, etc.\nLa vue : c’est ce avec quoi l’utilisateur va interagir. Le but est de représenter les données\nque le modèle a renvoyées et de recevoir les actions de l’utilisateur (appui sur un bouton, saisi\nd’un texte, sélection d’un élément, etc.). Ces événements sont envoyés au contrôleur. La vue\nne fait aucun traitement, elle se contente d’afficher les résultats et d’interagir avec l’utilisateur.\nLe contrôleur : il pilote l’application. Il prend en charge la gestion des événements pour\nmettre à jour la vue ou le modèle. Il reçoit les interactions de l’utilisateur et lance les actions à\neffectuer. Si une action nécessite un changement des données, le contrôleur demande la\nmodification des données au modèle, et ce dernier notifie la vue que les données ont changé\npour qu'elles se mettent à jour. Certains événements de l'utilisateur ne concernent pas les\ndonnées mais la vue. Dans ce cas, le contrôleur demande à la vue de se modifier.\n3-2. La Plateforme .NET\nUne plate-forme applicative se présente sous la forme d'une suite logicielle comprenant\nl'ensemble des briques nécessaires au déploiement d'une application client/serveur de haut\nniveau. A savoir : une application ou plusieurs applications serveur accessibles - généralement\nen mode Web - depuis des postes de travail ou des terminaux Internet.\n Comparaison entre plateforme .NET et plateforme JEE\nJ2EE (pour Java 2 Enterprise Edition) et .Net renvoient aux deux principaux modèles\ntechnologiques de plate-forme applicative existants. Lancé par Sun en 1998, autour du langage\nJava, le premier s'articule autour d'une infrastructure standardisée, couvrant les principales\ncouches d'une plate-forme applicative (serveur d'applications, infrastructure de portail et\nserveur d'intégration), ainsi que les liens avec la base de données (ou persistance). Le modèle\n.Net a été lancé par Microsoft en 2001 en réponse à J2EE. Cette plate-forme, rebaptisée en 2003\nWindows Server System, s'adosse à la manière de J2EE à une logique de développement et de\ndéploiement de nouvelle génération (orientée objets). Son principal point fort : aussi\nstructurante et riche fonctionnellement que son équivalent Java, elle n'en offrirait pas moins\nune approche de travail beaucoup plus simple.\n La démarche adoptée\nAprès cette comparaison, il est certes que nous adoptons la plateforme .NET puisque cette\nnouvelle plate-forme augmente l'efficacité et la productivité des programmeurs, en offrant aux\ndéveloppeurs Visual Basic (VB) et C# une puissance inégalée et des outils de développement\nd'applications rapide (RAD). Il leur offre la possibilité d’utiliser tel ou tel composants pour plus\nd’aisance dans le développement du logiciel. Par exemple, la récupération de données depuis\nune base de données et son affichage dans un tableau en HTML est un des composants que\nfournit le framework .NET, ainsi que cette plateforme est supportée par « Microsoft Community\n», cette communauté qui peut aider les jeunes développeurs à comprendre les problèmes et\nfournir des conseils ou des instructions pas à pas grâce à une documentation très claires.\nAprès le choix de la plateforme .NET, nous allons travailler avec l’environnement\nd’exécution d’applications et de services web, appelé ASP .NET conformément au besoin de\nFigure 24 : L’architecture de la plateforme .NET\n ASP.NET :\nASP.NET est un ensemble de technologies développées par Microsoft permettant la\nprogrammation d’applications web dynamiques. Il s’agit du successeur de la technologie Active\nServer et fait partie de la plateforme .NET. Les pages ASP.NET sont compilées et exécutées\npar le Common Language Runtime 7. Cet ensemble de technologies permet de développer des\napplications web de manière rapide tout en leur fournissant une certaine robustesse.\nIl existe deux modèles de programmation en ASP.NET :\nLe modèle ASP.NET WebForms, est un des deux modèles de programmation pour créer\ndes sites et des applications web en ASP.NET. Il s’agit d’éléments d’interface qui peuvent être\npositionnés et qui offrent la possibilité à l’utilisateur de modeler lui-même l’apparence des\ndifférentes pages de son application web via une interface de type glisser-déposer. Ce modèle\na pour avantage de fournir une vaste palette de contrôle permettant le prototypage rapide d’une\napplication. Cependant, il n’est pas possible de contrôler directement le code HTML généré en\nLe modèle ASP.NET MVC, qui, comme son nom l’indique, permet de créer des\napplications web basées sur le MVC (Model View Controller). L’avantage principal de ce\nmodèle est cette séparation de la vue, du modèle et du contrôleur rendant le code plus facile à\nmaintenir. De plus, contrairement au modèle WebForms, le développeur à un contrôle total sur\nle code HTML rendu. En contrepartie.\nFigure 25 : L’architecture de l’Asp.NET MVC\nAprès la sélection de la plateforme.NET notre choix s’est alors orienté vers ASP.NET MVC\nqui est une solution adéquate pour le développement d’une application web dynamique\ncaractérisée par sa mobilité. Il fallait ensuite décider quel langage utiliser parmi ceux disponible\ndans les technologies.NET, où les plus populaires sont le C# et le Visual Basic .NET (VB.NET).\nAyant pratiqué pendant deux ans le C# pour le développement d’applications web (léger)\npendant notre cursus scolaire, nous sommes orientés vers ce langage, car l’idée est de pouvoir\nutiliser nos acquis pour le développement de notre système de suivi. De plus, L’organisme\nd’accueil (ANRT) possède des compétences internes sur ce langage.\n3-3. Le langage C#\nLe langage C# a été conçu par Microsoft pour sa nouvelle plateforme .NET. C’est un\ndescendant de C++ avec des caractéristiques de Java et plusieurs autres langages. Il est un\nlangage orienté objet qui permet aux développeurs de générer une large gamme d'applications\nsécurisées qui s'exécutent sur le .NET Framework. Il peut être utilisé pour créer, entre autres,\ndes applications clientes Windows traditionnelles, des services Web XML, des composants\ndistribués, des applications client-serveur et des applications de base de données.\n3-4. Java Script\ninstructions, placées dans les pages Web ou dans un fichier séparé, sont interprétées par le\nnavigateur ; cela peut être fait soit au chargement de la page, soit en cours d'examen de celle-\nci, en réponse à des événements déclenchés par l'internaute.\ndestiné à fournir un langage de script simple au navigateur Netscape Navigator 2.\nRESIG en Janvier 2006.\nJQuery est :\n- Compatible avec tous les navigateurs : plus besoin de truffer le code de tests pour\nl'adapter au navigateur, JQuery s'occupe de tout.\n- Compacte et rapide.\n- Élégant, puissant, peu verbeux, et s'apprend très rapidement\n- Extensible : des centaines de plugins existent, en particuliers de très nombreux\nLe principe de base est le suivant : on crée un objet JQuery pointant vers un ou plusieurs\néléments de notre document, et on appelle ses méthodes. La plupart de celles-ci renvoient un\nobjet JQuery, ce qui permet de chaîner les actions.\n3-6. Entity Framework\nEntity Framework est la solution de mapping objet-relationnel proposée par Microsoft. Son\nbut est de fournir la couche d'abstraction nécessaire aux développeurs pour qu'ils n'accèdent\nplus directement à la base de données, mais par l'intermédiaire d'entités définies par un modèle\nappelé EDM (Entity Data Model).\n- Le schéma conceptuel : Il regroupe la définition des entités, des ensembles\nd'entités et des fonctions utilisées. Ces éléments sont définis dans un fichier XML appelé\n- Le schéma logique : Celui-ci correspond à la définition des tables, vues et\nprocédures stockées déclarées dans la base de données. Toutes ces informations sont\nregroupées dans un fichier XML appelé SSDL (Store SchemaDefinitionLanguage).\n- Schéma de liaison : Il définit les liaisons entre le schéma conceptuel et le schéma\nlogique. Il associe entre autres les entités déclarées dans le fichier CSDL aux tables\ndéfinies dans le fichier SSDL. Ce mapping est inscrit dans le fichier XML MSL\n3-7. Environnement de développement intégré\nAyant choisi de nous porter sur de l’ASP.NET, l’outil le plus adéquat pour réaliser\nl’application et ses différentes fonctionnalités, est l’environnement de développement\nMicrosoft Visual Studio est un environnement de développement intégré (IDE) conçu\ncomme son nom l’indique, par Microsoft. Il est utilisé pour le développement de site web,\nd’applications web et services web mais aussi pour les systèmes d’exploitations Microsoft\nWindows. Il est composé des outils de création d’interfaces graphiques, un outil de création de\nclasse et de modèle de base de données. Visual Studio supporte divers langages de\nprogrammation tels que : le C++, le VB.NET, C#, le F#, le Python, ou encore le Ruby. Il\nNous avons donc décidé que cet outil était plus que nécessaire si l’on envisage le\ndéveloppement de l’application en ASP.Net. En effet, celui-ci permet d’exploiter tout le\npotentiel des technologies .NET.\n3-8. Système de gestion de base de données\nLa solution développée utilise comme système de gestion de base de données (SGBD)\nMicrosoft SQL Server 2012. Comme tout autre (SGBD), il permet le stockage et la gestion des\ndonnées. Il permet la fiabilité, la disponibilité, la sécurité et à la facilité de la gestion des\nIl permet de disposer des informations les plus récentes grâce à des outils familiers. Il permet\nde bénéficier d'un développement et d'un déploiement intégrés et de l'une des plateformes de\nbase de données les plus sécurisées avec des contrôles intégrés de sécurité et de technologies\nde l'information, et ce, pour un coût total de possession extrêmement réduit.\nL’Entity Framework est l’outil de SQL Server pour créer une couche d’accès aux données\ndans Microsoft .NET. La réalité sur le terrain est un peu différente car il y a aujourd’hui de\nnombreuses solutions pour accéder aux données en .NET. En fait Entity Framework offre 3\napproches selon le besoin (Database First, Model First et Code First) :\n- Database First : Elle consiste à générer un modèle de données depuis une base\nde donnés existante. Ce modèle de données va nous permettre d’accéder aux données à\npartir de notre application .NET\n- Model First : cette approche est utilisée lorsque aucune base de données n’existe\ndonc nous utilisons un modèle à partir de Visual studio pour générer une base de\ndonnées. Nous créons donc le modèle en premier.\n- Code First : c’est l’approche la plus récente, elle est utilisée lorsque aucune base\nde données n’existe donc nous générons une base de données à partir du code C# par la\ncréation des classes qui vont représenter des entités métiers à partir desquelles nous\ngénérons une base de donnée en utilisons des migrations.\nPour répondre à nos besoins et puisque nous n’avons pas de base de données offerte par\nl’organisme d’accueil nous avons opté pour l’approche Code First de l’Entity Framework.\n3-9. Librairie microsoft asp.net identity\nMicrosoft ASP.NET Identity est le nom de la librairie que nous avons utilisé lorsqu’il sera\ntemps d’authentifier nos utilisateurs. L’aspect de la gestion de l’authentification des utilisateurs\navec ASP.NET avait nécessairement besoin d’un niveau élevé de la sécurité.\nEn quelques mots, le fonctionnement d’ASP.NET Identity est lié de très près au\nfonctionnement d’Entity Framework. Les fondations nous permettant d’aller récupérer les\ninformations d’un utilisateur ou d’en modifier les informations dans Entity Framework d’une\nTout le code que nous avons implémenté et qui nous permet de gérer l’authentification de\nnos utilisateurs au sein de notre application est situé sous l’espace de noms Microsoft.AspNet.\nIdentity. Il s’agit d’un module de sécurité de Microsoft que nous avons exploité pour veiller à\nl’aspect sécurité dans notre application web.\n3-10.Système de gestion des Rapports\nSSRS offre un ensemble d’outils et de services prêts à l’emploi pour définir, gérer et déployer\ndes rapports. Il fournit également des interfaces de programmation d'applications qui permettent\nd’étendre les rapports sous d’autres environnements.\nSSRS est une plate-forme serveur de rapports qui fournit des fonctionnalités de création de\nrapports pour différentes sources de données. Les outils Reporting Services fonctionnent au\nsein de l’environnement Microsoft Visual Studio et sont totalement intégrés aux outils et\ncomposants de SQL Server 2012.\nReporting Services permet de créer des rapports de type interactif, tabulaire, graphique ou\nlibre à partir de sources de données XML, ou relationnelles (SQL) ou multidimensionnelles\nLa phase de reporting est la plus importante des étapes de ce processus de collecte, stockage,\ntransformation et manipulation de données. Cette dernière étape représente celle qui, aux yeux\ndes utilisateurs, a plus de valeur car elle permet de donner du sens aux montagnes de données\nqui s’accumulent chaque jour. Les rapports jouent un rôle essentiel dans la compréhension du\nmarché et de la performance de l’entreprise.\nLes applications ASP.NET sont gérées par Internet Information Services (IIS). Il s’agit d’un\nserveur Web développé par Microsoft qui fournit une plateforme sécurisée et facile à\nadministrer pour l’hébergement des Services Web ainsi que des applications Web. Dans sa\nversion plus récente, IIS permet la gestion de la plupart des langages utilisés sur le Web allant\nde l’ASP.NET au PHP.\nCelui-ci peut contenir une ou plusieurs applications web et offre la possibilité de configurer\nle niveau d’isolation entre ces différentes applications. Cette fonctionnalité offre la possibilité\n- Grouper les sites et applications qui s’exécutent avec les mêmes paramètres de\n- Isoler les sites et applications web qui s’exécutent avec des paramètres de\n- Prévenir que les ressources d’une application accèdent aux ressources d’une\n3-12.Système de gestion des versions\nTortoiseSVN est un client opensource gratuit pour le système de contrôle de version\nSubversion. C'est à dire TortoiseSVN gère des fichiers et des répertoires à travers le temps. Les\nfichiers sont stockés dans un référentiel central. Le référentiel ressemble beaucoup à un serveur\nde fichiers ordinaire, sauf qu'il mémorise tout changement fait à vos fichiers et répertoires. Cela\nvous permet de récupérer les versions précédentes de vos fichiers et examiner l'historique de\ncomment et quand vos données ont changé. C'est pourquoi beaucoup de personnes pensent que\nSubversion et les systèmes de contrôle de version en général sont une sorte de « machine à\nremonter le temps ».\nQuelques systèmes de contrôle de version sont aussi des systèmes de gestion de\nconfiguration logicielle (GCL). Ces systèmes sont spécifiquement conçus pour gérer des\narborescences de code source et ont beaucoup de fonctionnalités spécifiques au développement\nde logiciel comme la compréhension de langages de programmation en natif, ou des outils\nd'approvisionnement pour construire le logiciel. Subversion, cependant, n'est pas un de ces\nsystèmes, c'est un système général qui peut être utilisé pour gérer n'importe quelle collection de\nfichiers, y compris du code source.\nLa figure ci-dessous représente la projection de notre architecture technique sur l’ensemble\ndes technologies utilisées :\nFigure 26 : Les choix techniques\n3-13.La bibliothèque Log4Net\nLog4Net et un fichier XML avec l’extension .log4net et le même nom complet que\nl’exécutable de modèle existe, le module obtient la configuration de log4net de ce fichier, puis\nproduit les informations correspondantes.\nLe fichier de configuration log4net n’a pas besoin d’exister lorsque vous démarrez votre\nCES. Log4net surveille la création d’un nouveau fichier dans le dossier, donc simplement créer\nle fichier de configuration .log4net déclenche la mise à jour dans la composante qui est en\nenregistrement. En utilisant un appender de fichier, le dossier de destination n’a pas besoin\nd’exister. Log4net crée le dossier.\nCe chapitre avait comme but de présenter l’ensemble des technologies et d’environnements\ndans lesquels notre projet s’inscrit, aussi nous avons introduit les langages de\nprogrammations utilisés pour la mise en place du système. Le chapitre suivant présente le\ndiagramme de déploiement de notre application, les tests effectués ainsi que des interfaces de\nDans ce chapitre, nous allons présenter le diagramme de déploiement de notre système et\nl’ensemble des tests des fonctionnalités offertes par notre application. Nous clôturons par des\nprises d’écran démontrant le fonctionnement de notre site.\n1- Diagramme de déploiement\nLe diagramme de déploiement permet de représenter la répartition géographique des\ncomposants matériels de notre système sous forme de nœuds.\nLe diagramme de déploiement est une vue statique qui sert à représenter l'utilisation de\nl'infrastructure physique par le système et la manière dont les composants du système sont\nrépartis ainsi que la relation entre eux. Les éléments utilisés par un diagramme de déploiement\nsont principalement les nœuds, les composants et les associations.\nFigure 27 : Diagramme de déploiement\n2- Présentation des exemples d’interfaces\nDans ce paragraphe, nous présentons quelques interfaces de l’application réalisée.\nInterface d’authentification permet aux utilisateurs de se connecter à l’application avec leurs\nFigure 28 : Authentification\nL’interface d’ajout des utilisateurs c’est la page qui permet aux administrateurs d’ajouter des\nutilisateurs quel que soit son rôle. Le système affiche cette page lorsqu’un administrateur essaye\nd’ajouter un utilisateur dans le système.\nFigure 29 : Ajout d’utilisateur par administrateur\nInterface de la liste des utilisateurs permet de voir les différents utilisateurs et aussi effectuer\nplusieurs actions soit modifier supprimer et même voir les établissements affectés.\nFigure 30 : Liste des utilisateurs\nCette interface est dédiée pour l’affectation des établissements aux inspecteurs,\nl’administrateur doit disposer du code GRESA de l’établissement et le code DRPP de\nl’inspecteur, pour que l’affectation réussisse faut que les deux codes soient dans la base de\ndonnées, le système affiche un message d’erreur dans le cas contraire.\nFigure 31 : Affectation établissement\nCette interface permet à l’administrateur de valider les rapports émis par les inspecteurs, une\nfois un rapport validé, l’inspecteur rédacteur du rapport n’aura plus la main de le modifier ou\nFigure 32 : Validation de rapport\nCette interface permet aux inspecteurs de sélectionner un établissement pour effectuer un\nFigure 33 : Liste des établissements affectés\nAprès avoir sélectionner une établissement un ensemble des zones de texte numériques\ns’affichent pour que l’inspecteur puisse saisir les valeurs correspondantes aux indicateurs\nFigure 34 : Ajout un rapport\nCette interface permet aux inspecteurs de voir l’historique des rapports effectués, elle\ncontient aussi des actions (supprimer, modifier, ou voir les valeurs déjà saisies).\nFigure 35 : Liste des rapports\nCette interface permet aux décideurs de sélectionner un établissement et générer des\nstatistiques soit scoring de chaque axe ou voir la variation des indicateurs aux choix.\nFigure 36 : choix scoring ou variation pour des rapports\nCette interface permet de voir sous format d’un chart la variation des indicateurs pour tous\nles rapports effectués sur un établissement sélectionné.\nFigure 37 : affichage des statistiques\nCette interface permet de sommer les indicateurs de chaque axe et les afficher dans un chart,\nelle permet aussi de l’exporter sous format PDF, Excel ou Word.\nFigure 38 : affichage Scoring Axe\nCette interface permet aux administrateurs de consulter les traces du serveur (logs).\nFigure 39 : Consultation des fichiers logs\nDans ce chapitre, nous avons traité les détails de la réalisation de notre application “Système\nde suivi et d’évaluation d’usage des TIC”, qui est la phase qui nous a pris le plus de temps. De\nplus nous avons aussi montré des différentes interfaces de l’application.


Créez votre propre alliance WH0110L15BM modernes en or blanc ±5 mm et sertie d'un rubis\nAlliance WH0110L15BM 375 or blanc rubis ±5x2 mm\n375 or blanc ±5x2 mm\nDans notre atelier, nous utilisons les techniques d’orfèvre les plus innovantes, combinées au pur métier artisanal d’orfèvre pour fabriquer votre alliance pour dames. Il en résulte cette alliance modernes WH0110L15BM, parfaitement finie à la main par nos orfèvres jusque dans les moindres détails. Et nous en sommes fiers ! Cette alliance pour dames WH0110L15BM forgée en or blanc à une largeur de ±5 mm et une finition mate/poli et est sertie d’un rubis.\nSpécifications de Alliance WH0110L15BM 375 or blanc rubis ±5x2 mm\nÉcrire un avis pour Alliance WH0110L15BM 375 or blanc rubis ±5x2 mm


Accueil » Politique » Cameroun – Jacques Fame Ndongo: «Si Paul Biya était en colère, il aurait demandé de retirer tous les ordinateurs. Puisque c’est son don !»\nCameroun – Jacques Fame Ndongo: «Si Paul Biya était en colère, il aurait demandé de retirer tous les ordinateurs. Puisque c’est son don !»\nPublié : 21 Jan 2018 Mis à jour : 21 Jan 2018 par NDOUMBE Nathan 17 commentaires\nDans une émission hebdomadaire consacrée aux partis politique sur l’antenne de la CRTV Télé, Jacques Fame Ndongo, le ministre de l’enseignement supérieur et haut cadre du RDPC, parti politique au pouvoir, a répondu aux critiques suscitées par la gestion qu’il fait du don de 500 000 auditeurs offert aux étudiants par le président de la République.\n« Espaces politiques » est une émission de la télévision d’Etat réservée aux partis politique représentés à l’Assemblée nationale. Dans l’édition du jeudi 18 janvier 2018, le RDPC, parti majoritaire, avait comme invité, Jacques Fame Ndongo en double qualité de ministre de l’enseignement supérieur et Secrétaire à la communication au Comité central du Rassemblement démocratique du peuple camerounais.\nDepuis deux mois environs, Jacques Fame Ndongo est la cible des critiques acerbes au sujet de la gestion qu’il fait du don de 500 000 auditeurs offert aux étudiants par le président de la République. Aux dernières nouvelles, les ordinateurs estimés par l’opinion publique de mauvaise qualité et d’excessivement chers, auraient amené Paul Biya, le donateur à être en colère contre son ministre.\nInterrogé sur la véracité de ces indiscrétions par Simon Meyanga, le communicateur et présentateur de la tranche réservée au RDPC, Jacques Fame Ndongo a démenti à sa manière\n« Mais s’il était en colère, il aurait demandé de retirer tous les ordinateurs. Puisque c’est son don ! Si par exemple, votre papa vous dit : voici un porc-épic, allez le donner à mon cousin qui est dans tel village. Si vous trainez pendant une ou deux semaines et puis, le porc-épic est faisandé. Évidemment, le cousin de votre papa ne va pas dire merci à son cousin, il va dire : vous m’avez envoyé une viande faisandée ! Mais, le fait que les étudiants disent merci au chef de l’Etat ; le fait que les étudiants soient contents, soient satisfaits. Le fait que ceux qui n’ont pas encore reçu l’ordinateur attendent avec une impatience incommensurable, prouve bel et bien que l’opération est bien menée » a déclaré le ministre de l’enseignement supérieur.\nCe dernier est aussi accusé par des membres de certaines organisations de la société civile, d’avoir détourné une partie des fonds destinés à la fabrication des ordinateurs. Sur la base de ces soupçons, le SDF, parti politique leader de l’opposition, a demandé au président de la République, « l’ouverture d’une enquête indépendante sur l’achat et la distribution d’ordinateurs aux étudiants par le Ministre de l’Enseignement supérieur »\nRéagissant à ces soupçons, le ministre Jacques Fame Ndongo a expliqué face à son camarade journaliste Simon Meyanga, que la procédure de paiement des factures pour la fabrication des ordinateurs ne donnait aucune possibilité à un détournement de fonds.\n« Je rappelle que le président de la République n’a pas donné des sacs et des sacs de milliards au ministre de l’Enseignement supérieur pour acheter des ordinateurs en Chine. Ces ordinateurs sont fabriqués en Chine par des fonds chinois débloqués par Eximbank China et fabriqués par une entreprise d’Etat chinoise. Alors avec cela, raisonnons un peu par l’absurde : qu’est-ce que le président de la République reprocherait donc au ministre de l’Enseignement supérieur qui n’attend que le produit rendu à Yaoundé pour procéder à sa distribution ?» Interroge Jacques Fame Ndongo avant de s’exprimer aussi sur la polémique suscitée par l’attitude méprisante du président de la République envers lui le jeudi 04 janvier dernier lors de la cérémonie de présentation de vœux au palais de l’Unité.\n« Avec ça, ils ont essayé de lire une image de vœu mais, je ne dirais jamais ce que le président qui était tout souriant m’a soufflé. Et bien entendu, je ne pouvais ne pas prolonger rapidement cette conversation. Je l’ai fait, et les gens ont interprété que le président de la République a tendu la main à mon voisin, mon ami et collègue qui venait après moi, que c’était une façon, de dire qu’il ne voulait pas me voir. Alors, s’il ne voulait pas me voir, le président de la République n’a pas peur de moi, je ne suis qu’un modeste collaborateur. Il peut dire ? J’arrête cette opération, je la confie à quelqu’un d’autre. Pour le moment, je ne sache pas que tel soit le cas. Mais, sait-on jamais ? L’avenir peut nous réserver des surprises, peut-être, il peut arrêter l’opération. Mais, pour le moment, l’opération continue de fort belle manière. Les étudiants s’enrôlent avec beaucoup d’engouement et les choses se passent très bien. Je sais que beaucoup de gens ont glosé là-dessus, mais le meilleur test, c’est l’attitude des étudiants » a conclu celui qui se considère comme une créature de Paul Biya, Chef de l’Etat depuis 36 ans.\n17 réponses à “Cameroun – Jacques Fame Ndongo: «Si Paul Biya était en colère, il aurait demandé de retirer tous les ordinateurs. Puisque c’est son don !»”\n21 Jan 2018 à 23 h 01 min\nun nouvel don de 500.000 auditeurs en plus des ordinateur ?\n22 Jan 2018 à 0 h 04 min\nM. le ministre tout ne se passe pas bien tel que vous affirmez. On n’a pas besoin d’être expert en informatique pour savoir que ces ordinateurs ne méritent pas le prix et on n’installe pas les logiciels sur le cloud\n22 Jan 2018 à 7 h 07 min\nc’est le don fait avec l’argent du contribuable camerounais.bande des voleurs\n22 Jan 2018 à 7 h 09 min\nMonsieur le Ministre… Encore une fois: il ne s’agit pas d’un don du président de la république vu qu’il a été réalisé avec l’argent du contribuable camerounais… Il faut rendre à César ce qui appartient à César et arrêter avec la filouterie… Il faudrait dans ce pays des institutions fortes sanctionner plus efficacement ceux qui s’amusent impunément avec l’argent du contribuable …\n22 Jan 2018 à 7 h 22 min\nLe president ne fait pas de don. Il autorise. C’EST son argent? Il travaille quoi? Ces voleurs nous prennent pour Des idiots. Est ce que ces voleurs prennent l’argent dans Des sacs? C’EST Belle et bien dans Les transactions entre le fabriquant et lui, C’est pour ca que C’est surfacture.\n22 Jan 2018 à 7 h 33 min\nvous voyez la cause de la silence contre la dictature. on utilise votre argent d’impôt pour vous donner les don. hahahahaha Vraiment!!!! Paye de merde.\n22 Jan 2018 à 10 h 05 min\nMr famé dongo un grand intellectuel de son rang ne peut pas ignorer ce que signifie un don.cet argent sort il directement du compte privé du chef de l’État??? Je pense que non.qui va rembourser cet argent?c’est le petit contribuable camerounais.alors si vous pensez que ce pays vous appartient à vie alors sachez qu’un jour vous rendrez compte\n22 Jan 2018 à 10 h 40 min\nJulien Baya dit :\n22 Jan 2018 à 10 h 44 min\nJ’en veux surtout aux camerounais eux-même. J’en veux aux parents des étudiants, j’en veux aux étudiants eux-même, j’en veux aux Corps des enseignants de l’université. Après les propos du Prof Atsa Etoundi, comment se fait-il que les parents ne montrent pas leur Indignation et demandent tout simplement qu’ils n’enseignent plus leurs enfants? Comment se fait-il que les étudiants ne se revoltent pas et demandent tout simplement qu’il soit remplacé ? Comment se fait-il que les collègues qui devraient avoir un intérêt personel quant á l’image de leur métier ne s’arc-boutent pas pour demander que Mr Atsa Etoundi, père des 32 GB=500 GB ne soit pas tout simplement remercié. Comment se fait-il que le ministre vienne en mondovision, sachant que les étudiants le regarde essayer de défendre cette ineptie mais ca reste sans conséquence des étudiants ? Comment le mincom Tchiroma peut alors aussi s’y mettre et ca reste sans conséquence.\nDois-je comprendre même juste que les étudiants aussi sont bêtes ? N’ont pas du tout compris ce que Atsa voulait dire la ? ne savent pas de quoi il parle ? Dois-je comprendre que les parents ne s’y connaissent pas du tout et c’est la Raison de ce silence ?\nOui j’en veux aux camerounais. Un pays au fin fond du cabinet par l#attitude de ses Citoyens. Hélas.\n22 Jan 2018 à 14 h 56 min\nla créature du président biya va très bientôt rendre gorge.\n22 Jan 2018 à 15 h 48 min\nMr le ministre en ce que je sache vous voulez dire que DON=PRÊT comme votre collègue Pr Atsa a dit que 32Go=500Go. Ces vieillards nous embrouillent vraiment.\n22 Jan 2018 à 15 h 49 min\nmr le ministre merci pour votre mensonge, mais soyez en sur que c’est pas c’est dons qui vont pousser le camerounais a voter Paul biya en 2018 car c’est pas avec son argent qu’on a fabriquer ces ordinateurs .et si c’est le contraire qu’il nous démontre ,dans tout les cas on vous vois venir et les camerounais son déjà conscient et éveillé nous voulons tous un sang nouveau pour se pays le cameroun peut importe sa tribu.\nyerimayoussoufa4 dit :\nAh! Qu’elle future génération pour cette Nation? J’ai peur du devenir de ce Cameroun pour nos enfants? Nous avons vraiment l’art de critique parce que nous avons des têtes pleines. A notre âge, nous n’avons que de souci et invoquons le Très Haut pour son pardon. Nous saluons le geste et ne cherchons à savoir en recevant de quelqu’un, combien il touche par mois.\n22 Jan 2018 à 18 h 51 min\nEntre un ministre fantôme et un ministre fantomique ou est la différence, c n’est pas avec l’argent du contribuable qu’on a acheté ces ordinateurs . Toi même viens prendre la machine là entre mes ?, c n’est plus le don du PRC c le don d fame ndongo.\n22 Jan 2018 à 20 h 39 min\nl’enfer est sur terre et non au ciel\n22 Jan 2018 à 23 h 55 min\nen plus il insulte encore Biya\n23 Jan 2018 à 1 h 38 min\nFame Ndongo et son informaticien, deux bons apprentis sorciers, preuve irréfutable d’un pays enterré par des diplômés qui se réclament intellectuels. ils delirent les deux. pauvre jeunesse, pauvre Cameroun