Page |I EPIGRAPHE « Tous les hommes projettent de la lumière dans une pièce ; les uns quand ils y entrent, les autres lorsqu’ils en sortent » Yvan CASTANOU P a g e | II DEDICACE Nous dédions ce travail, fruit de nos recherches après des années d’études passées sur le banc de l’école : A toi mon très père NYEMBO MATABU Pierre pour ton soutien matériel, financier, spirituel et les conseils dont tu n’as jamais cessé de nous prodiguer. A ma très chère mère KIBOMBO NZUGU Brigitte, toi qui as sacrifié ton cœur, pour ma vie par ta volonté de mère tendre qui ne cesse jamais de me soutenir dans toutes mes difficultés. A ma mère BUTEKA KALENGA Alphonsine, tu n’as jamais cessé une seule seconde de prier pour moi, tu as plusieurs fois été la seule à m’accepter lorsque personne ne le pouvait. Tu es celle que j’appelle la Femme avec un « F majuscule », celle qui est naturellement au-dessus de toutes les autres. C’est grâce à ton amour inconditionnel que j’ai appris à avoir confiance en moi et que je suis devenu ce que je suis aujourd’hui. Que le seigneur Jésus-Christ te comble de toutes sortes de bénédictions, de forces et de grâce. A vous chers frères et sœurs pour vos engagements et votre souci de toujours nous voir prospérer. Trouvez par ce travail plus de joie et de satisfaction. P a g e | III REMERCIEMENTS Nos remerciements les plus déférents s’adressent : A l’éternel Dieu Tout Puissant, le créateur incréé qui nous a fait grâce en nous accordant sa faveur. Il a été avec nous durant tout le temps passé de notre vie estudiantine. Dieu a été un secours en temps de détresse, il a été un appui solide pendant les épreuves difficiles. Nous vous en serons toujours reconnaissants. A vous Monsieur le Directeur General de l’ESIS Jacky MPUNGWA ; A vous Monsieur MULUMBATI, vous avez disposé de votre temps malgré votre agenda chargé pour diriger notre travail de fin de cycle. Recevez nos remerciements les plus sincères. A vous Monsieur KANANGILA Christian, vous avez disposé de votre temps pour codiriger notre travail. Sentez-vous remercié. A vous chers parents, KISHIKO NGOIE Donat, BUTEKA KALENGA Alphonsine de vous être sacrifiés au point de manquer du nécessaire pour vous-mêmes afin de payer nos études. A vous chers frères et sœurs : Ruth MAUWA, Jérémie NYEMBO, Jonathan NYEMBO, Abigaël NYEMBO, Jethro NYEMBO, Emmanuela KIBOMBO. MWALULA SAKASANGU Jonas, TSHIMANGA Junior, KALENGA NSEYA Evodie. A tous nos amis, collègues et compagnons, BAHATI BIMWILI Aimerance, CHIHANZA NABINTU Irène, BULUNGA ILUNGA Ornella, FUMUNI BUTAKAR Germaine, LUMBU POMBO Stella, MWEMBO MULENDA Chris, BUYAMBA SUZE Ange, LUYEYE DINKWENU Joyce, NDAYA LUKUNA Déborah ; MBUYI MUSAMU Francesco, MUTOMBO KATENDE Vally, KASONGO ILUNGA Gracia, KISENGA KILUWE Kiss, NTWARI BIHENDO David. Trouvez ici l’expression de notre sens de collaboration et de sympathie. P a g e | IV A toute la promotion de G3 Génie logiciel (Gestion et SI 2017 – 2018) pour tous les moments passés ensemble. A tous ceux dont les noms ne sont pas repris ci-dessus, qu’ils trouvent dans l’anonymat l’expression de nos sentiments de reconnaissance pour les moments difficiles de ce parcours qui continuent à laisser un souvenir dans nos mémoires. Merci à tous de votre soutien matériel et financier pour les uns ; moral et spirituel pour les autres. FAILA MALUNGA Daniella Et KAZADI MUKAYA Aaron Page |V LISTE DES FIGURES Figure 3.1 Diagramme des cas d'utilisation .................................................................... 26 Figure 3.2 Diagramme de Séquence du C.U. S'authentifier ........................................... 28 Figure 3.3 Diagramme des classes participantes du C.U. S'authentifier ........................ 28 Figure 3.4 Diagramme de Séquence du C.U. S'inscrire ................................................. 30 Figure 3.5 Diagramme des classes participantes du C.U. S'inscrire ............................... 31 Figure 3.6 Diagramme de Séquence du C.U. Passer test ................................................ 32 Figure 3.7 Diagramme des classes participantes du C.U. Passer test ............................. 33 Figure 3.8 Diagramme de Séquence du C.U. Consulter résultats................................... 34 Figure 3.9 Diagramme des classes participantes du C.U. Consulter résultats ................ 34 Figure 3.10 Diagramme de Séquence du C.U. Accéder aux dossiers personnels ........... 36 Figure 3.11 Diagramme des classes participantes du C.U. Accéder aux dossiers personnels ....................................................................................................................... 37 Figure 3.12 Diagramme de Séquence du C.U. Participer au forum .............................. 39 Figure 3.13 Diagramme des classes participantes du C.U. Participer au forum .......... 40 Figure 3.14 Diagramme de Séquence du C.U. Accéder aux offres ................................ 41 Figure 3.15 Diagramme des classes participantes du C.U. Accéder aux offres.............. 41 Figure 3.16 Diagramme de Séquence du C.U. Consulter horaire ................................... 42 Figure 3.17 Diagramme des classes participantes du C.U. Consulter horaire .............. 43 Figure 3.18 Diagramme de Séquence du C.U. Accéder à la valve ................................. 44 Figure 3.19 Diagramme des classes participantes du C.U. Accéder à la valve .............. 44 Figure 3.20 Diagramme de Séquence du C.U. Gérer Cours ........................................... 47 Figure 3.21 Diagramme des classes participantes du C.U. Gérer Cours ........................ 47 P a g e | VI Figure 3.22 Diagramme de Séquence du C.U. Gérer Notes ........................................... 48 Figure 3.23 Diagramme des classes participantes du C.U. Gérer Notes ........................ 49 Figure 3.24 Diagramme de Séquence du C.U. Gérer agenda ........................................ 51 Figure 3.25 Diagramme des classes participantes du C.U. Gérer agenda ...................... 52 Figure 3.26 Modèle du domaine ..................................................................................... 53 Figure 3.27 Diagramme de classes de conception .......................................................... 56 Figure 3.28 Diagramme de navigation ........................................................................... 57 Figure 4.1 Diagramme de déploiement........................................................................... 63 Figure 4.2 Ecran d'accueil principal ............................................................................... 63 Figure 4.3 Charger Dossiers personnels ......................................................................... 64 Figure 4.4 Passer test ...................................................................................................... 64 P a g e | VII LISTE DES TABLEAUX Tableau 1.1 Quatre grands services couverts par les portails ........................................... 9 Tableau 1.2 les phases de la méthode UP ....................................................................... 11 P a g e | VIII LISTE DES ACRONYMES AJAX : Asynchronous JavaScript And XML CSS : Cascading Style Sheet DCU : Diagramme de Cas d’Utilisation ESIS : Ecole Supérieure d’Informatique Salama HTML : HyperText Markup Language HTTP : HyperText Transfer Protocol MVC : Model View Controller MySQL : My Structured Query Language NTIC: Nouvelle Technologie de l’Information et de la Communication SGBD : Système de Gestion de Base de Données SQL : Structed Query Language UML : Unified Model Language UP : Unified Process P a g e | IX TABLE DES MATIERES EPIGRAPHE ....................................................................................................................................... I DEDICACE ......................................................................................................................................... II REMERCIEMENTS ......................................................................................................................... III LISTE DES FIGURES ....................................................................................................................... V LISTE DES TABLEAUX ................................................................................................................. VII LISTE DES ACRONYMES ............................................................................................................ VIII TABLE DES MATIERES ................................................................................................................. IX AVANT PROPOS ............................................................................................................................... XI INTRODUCTION GENERALE ....................................................................................................... 1 0.1. Problématique .................................................................................................................... 1 0.2. Hypothèses .......................................................................................................................... 2 0.3. Choix et intérêt du sujet .................................................................................................... 2 0.3.1. Choix du Sujet ............................................................................................................ 2 0.3.2. Intérêt du Sujet ........................................................................................................... 3 0.4. Méthodes et techniques ..................................................................................................... 3 0.4.1. Méthode....................................................................................................................... 3 0.4.2. Technique .................................................................................................................... 3 0.4.2.1. La technique documentaire ..................................................................................... 4 0.4.2.2. La technique d’interview ......................................................................................... 4 0.5. Etat de l’art ........................................................................................................................ 4 0.6. Délimitation du travail ...................................................................................................... 5 0.6.1. Délimitation spatiale ................................................................................................... 5 0.6.2. Délimitation temporelle .............................................................................................. 5 0.7. Subdivision du travail ........................................................................................................ 5 0.8. Outils logiciels et équipements utilisés ............................................................................. 6 I.1. Introduction partielle ............................................................................................................... 7 I.2. Cadre conceptuel ...................................................................................................................... 7 I.3. Cadre théorique........................................................................................................................ 7 I.3.1. Le portail web ..................................................................................................................... 8 I.3.1.1. Types de portails ........................................................................................................... 8 I.3.2. Le Langage UML ............................................................................................................... 9 I.3.3. La méthode UP ................................................................................................................. 11 I.4. Conclusion partielle ............................................................................................................... 11 2. CHAPITRE DEUXIEME : ETUDE DE L’EXISTANT, SOLUTION PROPOSEE ET DESCRIPTION DE L’APPLICATION.......................................................................................... 13 Page |X II.1. Introduction partielle ........................................................................................................... 13 II.2. Etude de l’existant ................................................................................................................ 13 II.3. Solution proposée.................................................................................................................. 13 II.4. Description du besoin ........................................................................................................... 13 II.3. Spécifications fonctionnelles ................................................................................................ 14 II.3.1. Générales ........................................................................................................................ 14 II.3.2. Annuaire de l’étudiant.................................................................................................... 16 II.3.3. Annuaire de l’enseignant ............................................................................................... 17 II.4. Conclusion partielle .............................................................................................................. 22 3. CHAPITRE TROISIEME : CONCEPTION ET MODELISATION DE L’APPLICATION 24 III.1. Introduction partielle.......................................................................................................... 24 III.2. Analyse ................................................................................................................................. 24 III.3. Modélisation ........................................................................................................................ 24 III.4. Les diagrammes UML ........................................................................................................ 25 III.4.1. Le diagramme de cas d’utilisation ................................................................................ 25 III.4.2. Etude des cas ................................................................................................................. 27 III.4.3. Modèle du domaine ....................................................................................................... 53 III.4.3.1. Transformation du modèle du domaine en modèle relationnel ................................ 54 III.4.4. Diagramme de classes de conception ........................................................................... 54 III.4.5. Diagramme de navigation ............................................................................................. 56 III.5. Conclusion partielle ............................................................................................................ 58 4. CHAPITRE QUATRIEME : REALISATION DE L’APPLICATION ................................ 59 IV.1. Introduction partielle .......................................................................................................... 59 IV.2. Outils et langages utilisés .................................................................................................... 59 IV.3. Choix du langage ................................................................................................................. 59 IV.4. Choix du SGBD .................................................................................................................... 60 IV.5. Architecture logicielle utilisée ............................................................................................. 60 IV.6. Diagramme de déploiement ................................................................................................ 62 IV.6. Présentation de l’application .............................................................................................. 63 IV.6.1. Quelques interfaces........................................................................................................ 63 IV.6.1.1. Accueil ..................................................................................................................... 63 IV.6.1.2. Inscription (Charger Dossiers) ................................................................................. 64 IV.6.1.3. Test d’admission ...................................................................................................... 64 IV.7. Conclusion partielle ............................................................................................................. 65 CONCLUSION GENERALE .......................................................................................................... 66 REFERENCES ................................................................................................................................. 66 P a g e | XI AVANT PROPOS Notre travail de fin cycle de graduat de nos études à l’Ecole Supérieure D’informatique Salama est le produit des diverses conditions. C’est au centre du présent travail que nous nous sommes rendu compte de la longueur du chemin parcouru, des difficultés rencontrées, des montagnes gravies, des vallées endurées et des obstacles franchis. Cependant nous avons constatés que notre alma mater qui est l’ESIS ne possède pas une porte d’entrée centralisée des ressources dont elle dispose. Afin de permettre aux enseignants, étudiants et candidats d’avoir un accès facile et unique aux ressources de l’ESIS, nous avons résolu de concevoir et de mettre en place un portail web étudiant-enseignant. D’où le choix du sujet : « Conception et mise en place d’un portail web étudiant – enseignant ». Vu que notre travail résulte des différentes connaissances acquises selon un besoin donné et qui a été de reformuler une solution utilisable, qui servira de miroir aux générations futures et qui pourra être améliorée avec le temps et l’évolution de la technologique. Ceci est une œuvre humaine, il sied de rappeler que nous n’avons fait qu’ouvrir une porte ; que tout celui qui voudrait le parfaire, ce travail reste à la disposition de tout chercheur. Page |1 INTRODUCTION GENERALE Aujourd’hui suivre ses cours, consulter un document, prendre une inscription sur n’importe quelle plateforme, partager des expériences, n’est plus un casse-tête en ce qui concerne l’accès en temps voulu et de n’importe où l’on en a besoin ; la sécurité et la confidentialité étant assurées, le monde passe chaque seconde à une étape supérieure en parlant des NTIC [1]. L’enseignement et la pédagogie faisant aussi partie de cette grande révolution technologique cela mènent plusieurs intuition à concevoir et à élaborer des portails de ressources qui permettront une facilitation d’accès aux ressources d’apprentissage en fournissant diffèrent élément aux apprenant d’une maniérer accessible de n’importe quel endroit c'est-à-dire enseigner avec des outils de la génération actuelle et faire en sorte que la technologie soit au service de l'apprentissage qui est autrement appelé la technopédagogie et cela une tâche laborieuse qui nécessite non seulement un choix approprié des ressources et des services à fournir à la communauté, mais aussi une analyse prospective des besoins et des formes d’évolution qui produiraient de la valeur ajoutée pour l’enseignement et la recherche. Face à cette réalité, l’évolution de technologie a apporté à l’univers une nouvelle façon plus efficace et efficiente de conserver l’information, de la partager, et de la canaliser grâce aux différents outils et méthodes dont elle dispose. Elle augmente la vitesse de traitement des données, elle traite de volume considérable des données et facilite un travail rapide. Pourtant un bon suivi d’une organisation doit être en mesure d’accéder à l’information en temps record pour réaliser un traitement correct d’un ensemble des tâches très souvent complexes et répétitives en vue d’aboutir à des résultats satisfaisants. Ces traitements ne peuvent pas être faits par une manipulation humaine simple, il y a une forte probabilité puisse conduire à un résultat incorrect et ralentir l’évolution du travail. 0.1.Problématique Étymologiquement parlant, le mot problématique est : « l’ensemble des questions qu’une science ou une philosophie se pose relativement à un domaine particulier » ; c’est-à-dire un champ des connaissances théoriques dans lequel on pose le Page |2 problème, du lieu exact de sa position et des concepts requis, autour des faits ou des relations. L’école Supérieure d’informatique Salama est parmi les plus grandes institutions d’enseignements Supérieures dans la ville de Lubumbashi et même dans tout le pays. C’est comme cela qu’elle doit se rassurer d’offrir des services accessibles facilement et de façon simple et organisée. Nous avons constaté que l’ESIS dispose de plusieurs ressources, mais cellesci ne sont pas centralisée ; c'est-à-dire l’accès à ces ressources n’est pas organisé de manière à permettre aux utilisateurs (Enseignants, Etudiants, Candidats, etc.) de pourvoir y accéder en passant par un seul chemin (point d’entrée). Pour cela, nous avons pensé à concevoir et à mettre en place un portail web étudiant-enseignant. Ceci nous conduit à poser la question suivante : Comment les étudiants, les enseignants et les candidats peuvent-ils avoir un accès centralisé aux différentes ressources dont l’ESIS dispose ? 0.2.Hypothèses L’hypothèse d’un travail scientifique est une réponse provisoire donnée aux questions de la problématique [4]. C’est comme cela que nous allons essayer de répondre aux questions de la problématique dans les lignes qui suivent. Pour pallier aux problèmes relevés dans la problématique, nous avons eu la pensée de concevoir et de mettre en place un portail web étudiant-Enseignant qui donnera une ouverture commune à toutes les ressources accessibles de l’ESIS. 0.3.Choix et intérêt du sujet 0.3.1. Choix du Sujet Le choix sur ce sujet est motivé par le souci d’apporter un plus au sein de notre alma mater qui est l’Ecole Supérieure d’Informatique Salama. Notre sujet intitulé : « Gestion académique : Conception et mise en place d’un portail web étudiantenseignant » par le biais d’une solution informatique adéquate qui traite et consolide les données pour permettre une vue d’ensemble des différentes ressources mises à la Page |3 disposition. En apportant cette solution à notre école ; aussi petite soit-elle, étant scientifique, nous aurons participé et contribué à l’évolution et à l’épanouissement de cette école dans les NTIC. 0.3.2. Intérêt du Sujet L’intérêt poursuivi est celui de mettre en œuvre nos connaissances et nous évaluer par rapport à notre formation, ainsi que mettre en pratique les théories acquises en tant qu’étudiant en terminal tout en nous servant de l’outil « informatique » comme aide à la prise de décisions. Voici une motivation parmi tant d’autres. Motivation scientifique : Tout étudiant de troisième graduat a l’obligation d’élaborer un travail de fin de cycle, faisant preuve de ses recherches, analyses et études et montrant qu’il a assimilé les matières et connaissances acquises tout au long de son cursus et qu’il est à mesure de concilier toute théorie apprise à la pratique et aux réalités professionnelles afin, d’accéder au titre d’ingénieur informaticien. 0.4.Méthodes et techniques 0.4.1. Méthode Une méthode parait comme étant une démarche, une suite décrivant la manière dont on procède pour aboutir à une solution [2]. La conception d’un système d’information n’est pas évidente car il faut une méthode de développement logiciel piloté par les besoins des utilisateurs, réfléchir à l’organisation que l’on doit mettre en place. Pour notre travail, nous avons choisi d’utiliser la méthode UP (Processus Unifié) qui est un processus de développement de logiciel reposant sur un bon sens sur l’utilisation des diagrammes UML. 0.4.2. Techniques Ce sont des instruments, des procédés opératoires pour récolter les données en vue d’atteindre les objectifs [3]. Parmi lesquelles nous citons : Page |4 0.4.2.1. La technique documentaire Elle nous a permis d’atteindre une documentation ; par elle, nous avons eu différents travaux, ouvrages de contribuer à ce sujet. 0.4.2.2. La technique d’interview Pour cette technique, nous avons eu l’occasion d’organiser un jeu des questions avec certains enseignants, nouveaux candidats et étudiants à travers cet échange nous avons pu collecter certaines informations outils à notre travail. 0.5. Etat de l’art Nous devons signaler qu’il n’a pas été facile de nous orienter sur une plateforme non encore maitriser, c’est ainsi que notre sujet, vient d’un constat que nous avons fait lors de notre entrée à l’ESIS et durant notre parcours académique. Comme travail similaire au notre, nous nous sommes ressourcés sur le net et nous avons eu à consulter divers travaux à l’occurrence du TFC de KANYEBA MUTOMBO Carmine, de G3 Systèmes Informatiques à l’ESIS, septembre 2017. Dans ce travail, « Conception d’une plateforme mobile-learning d’une institution » (cas de l’ESIS) elle s’est basée sur l’outil ou le matériel à utiliser pour accéder à la formation quel que soit l’endroit où l’on se trouve [4]. Nous avons consulté le TFC de KUMWIMBA KISHIKO Serge, de G3 Systèmes Informatiques à l’ESIS, septembre 2017, intitulé « Outil d’évaluation de la e-réputation d’une entreprise et/ou d’une marque congolaise et d’aide à la prise de décisions selon le comportement de ses visiteurs et de ses concurrents » ; ici l’étudiant a démontré la place quasi-incontournable qu’occupe le web ou l’internet dans le monde des affaires aujourd’hui [5]. Notre travail se démarque de deux susmentionnés, par son adaptabilité à toutes les plateformes, on n’a pas seulement ou forcément besoin de se munir d’un mobile pour accéder à la formation ; par son étendu qui est le monde de l’enseignement universitaire, l’internet ne sert pas seulement pour les affaires, mais aussi et surtout un moyen efficace de l’enseignement. Page |5 0.6. Délimitation du travail 0.6.1. Délimitation spatiale Notre travail, étant une solution pour la gestion académique en général, se basera uniquement sur la gestion académique à l’Ecole Supérieure d’Informatique Salama. 0.6.2. Délimitation temporelle Notre travail s'étend sur la réalité observée dans l’année 2018 qui est l’année de notre cycle de graduat, période au cours de laquelle nous avons fait une étude détaillée sur les tenants et les aboutissants de notre travail. En ce qui concerne les données, l’outil que nous mettrons en place sera utilisable avec les données de n’importe quelle date, ultérieure ou antérieure. 0.7. Subdivision du travail Hormis l’introduction générale et la conclusion générale, ce travail est subdivisé en quatre chapitres suivants : - Chapitre premier : Cadre conceptuel et théorique Dans ce chapitre nous essaierons d’expliquer certains concepts auxquels nous ferons allusion tout au long de notre travail et ainsi nous permettre de comprendre tout ce qui sera utilisé dans la partie pratique du travail. - Chapitre deuxième : Etude de l’existant, solution proposée et Description détaillée de l’application Dans ce chapitre nous passerons en revu le système d’information existant à l’ESIS qui est notre champ d’observation, les outils utilisés pour la gestion académique dans son ensemble, les différentes ressources dont dispose l’ESIS. Nous parlerons de la solution que nous voulons proposer par rapport à ce système, nous allons présenter notre cahier des charges qui permettra d’avoir une vue claire sur le fonctionnement de l’application et de décrire le besoin principal de l’ESIS qui est d’avoir un outil qui facilite et centralise l’accès à ses ressources. - Chapitre troisième : Conception et Modélisation de l’application Nous aurons beau parler et présenter le travail dans son contexte théorique, cela ne suffit pas ; dans ce chapitre il sera question de concevoir et modéliser notre application à l’aide du langage de modélisation UML et la méthodologie UP. Ici nous présenterons certains diagrammes qui constitueront le squelette de notre application. Page |6 Chapitre quatrième : Réalisation de l’application Ce chapitre qu’est le dernier, implémentera le modèle de l’application réalisé dans le chapitre précédent, nous présenterons les langages HTML, PHP, le Framework Bootstrap, les bibliothèques JQuery et Ajax, ainsi que d’autres outils qui auront concouru à la réalisation de notre application. - 0.8. Outils logiciels et équipements utilisés Pour parvenir à nos objectifs dans ce travail, nous allons réaliser notre outil web en PHP, HTML et CSS pour la création du site, nous utiliserons le Framework Bootstrap, et JavaScript pour la création des scripts ; nous utiliserons les bibliothèques JQuery et Ajax. Pour le stockage des données, nous utiliserons le SGBD MySQL. Et aussi Edge, le logiciel de modélisation, qui permet la création des diagrammes UML ; ce logiciel nous permettra de créer : Le diagramme de cas d’utilisation Le diagramme de séquence système Le diagramme de classe Le modèle du domaine Etc. Page |7 1. CHAPITRE PREMIER : CADRE CONCEPTUEL ET THEORIQUE I.1. Introduction partielle Dans ce chapitre, nous voulons définir et expliquer différents concepts théoriques de base dont nous aurons besoin et que nous allons employer tout au long de notre travail. I.2. Cadre conceptuel Un portail Web : est un site internet ou intranet qui offre une porte d'entrée unique sur un large panel de ressources et de services (messagerie électronique, forum de discussion, espaces de publication, moteur de recherche, etc.) centrés sur un domaine ou une communauté particulière [6]. La conception : est l’acte de l’intelligence ou une action de concevoir [7] La mise en place : Elle est toute action d’installer ou d’agencer ou encore de mettre quelque chose à une certaine place. Un étudiant : est une personne qui fait des études supérieures et qui suit les cours d’une université ou d’une institution supérieure ou encore d’une grande école. Enseignant : est une personne qui enseigne une discipline, un art, une technique, d’une manière habituelle. Internet : Interconnected Networks, est le réseau (mondial) des réseaux interconnectés par l’intermédiaire d’un protocole (le protocole TCP/IP) [8]. Le présent travail a pour objectif, de concevoir et mettre en place un portail web étudiant – enseignant, qui permettra un accès facile, simplifié et centralisé aux ressources et facilitera la communication, l’échange et la transmission au sein de l’institution (ESIS à l’occurrence). I.3. Cadre théorique Dans le cadre de notre travail, qui est la mise en place d’un portail web qui facilitera l’accès aux ressources, nous avons choisi de concevoir notre système d’information avec le langage UML et la méthode UP que nous allons devoir expliquer dans les lignes qui suivent. Page |8 I.3.1. Le portail web Un portail web est un site internet ou intranet qui offre une porte d’entrée unique sur un large panel de ressources et de services (messagerie électronique, forum de discussion, espaces de publication, moteur de recherche, etc.) centrés sur un domaine ou une communauté particulière. Un portail fournit un point d’accès unifié et sécurisé, souvent sous forme d’une interface utilisateur sur le web conçu pour agréger et personnaliser l’information grâce à des portlets spécifiques à l’application. Un portail est un cadre d’intégration d'information, de personnes et de processus dans des frontières organisationnelles. L’une des marques de fabrique des portails est la contribution et la gestion décentralisée du contenu qui garantit que l’information soit à jour en permanence. Un portail peut agréger des contenus et des applications de façon dynamique en vue de fournir différents types de services proposant un libre accès à l'information. En entreprise, un portail permet de regrouper et faciliter la navigation entre de nombreux outils (ressources) web [9]. La technique du portail apporte également : Une charte graphique commune ; La possibilité de personnaliser la page en fonction de l'utilisateur : ici l’utilisateur n’aura accès qu’à des ressources qui lui sont destinées en fonction de son type. Il aura uniquement accès aux outils auxquels il est autorisé (exemple : passation de test, pour un candidat ; accéder à ces dossiers personnels, pour l’étudiant ; etc.) ; L’authentification unique (single sign-on) : un identifiant et mot de passe pour accéder aux différentes ressources [10]. I.3.1.1. Types de portails La notion de portail, qui tend à se généraliser, recouvre un grand nombre de produits aux fonctions diverses. Pour avoir quelque chance de se retrouver dans ce domaine foisonnant, il est utile de définir une typologie des diverses approches et solutions existantes. Celle que nous proposons dans la liste ci-dessous n’a pas la prétention d’être exhaustive ni définitive, mais permettra néanmoins d’y voir un peu plus clair. On distingue donc : Les portails d'entreprise, Les portails de divertissement, Page |9 Les portails de jeux, Les portails politiques, Les portails éducatifs, Etc. Tableau 1.1 Quatre grands services couverts par les portails Informations destinées à Informations destinées à l’intérieur de l’organisation l’extérieur de l’organisation Informations en Service de KM : gestion de Service de e-business : provenance de l’intérieur connaissance commerce électronique Informations en Service de veille : Portail généraliste provenance de intelligence économique Portail vertical de l’organisation l’extérieur de l’organisation Cependant, bien que les portails prennent différentes significations selon la perspective qu’on veut leur donner, ils gardent une caractéristique commune, celle de constituer un endroit où sont cumulées d’énormes ressources d’information (locales ou hébergées sur plusieurs sites répartis). Ces ressources sont soumises à une chaine de référencement et de production qui permet de les décrire, indexer, analyser, classer, conserver et communiquer selon les besoins des utilisateurs [11]. I.3.2. Le Langage UML UML est un langage de modélisation objet, il est graphique et textuel. Etant un langage de modélisation graphique et textuel, UML est destiné à comprendre et décrire les besoins, spécifier et documenter les systèmes, concevoir des solutions et communiquer des points de vue. UML est né de la fusion de trois grandes méthodes : Object Modeling Système (OMS) : fournit une représentation graphique des aspects statiques, dynamiques et fonctionnels d’un système ; Object Oriented Developpement (OOD) : définie par le département (américain) de la défense, introduit le concept de paquetage (package) ; P a g e | 10 Object Oriented Software Engineering (OOSE) : fonde l’analyse sur la description des besoins des utilisateurs (cas d’utilisation) [12]. UML unifie également les notations nécessaires aux différentes activités d’un processus de développement et offre le moyen d’établir le suivi des décisions prises depuis l’expression de besoin jusqu’au codage. Dans ce cadre, un concept appartenant aux exigences des utilisateurs projette sa réalité dans le modèle de conception et dans le codage. Le fil tendu entre les différentes étapes de construction permet alors de remonter du code aux besoins et d’en comprendre les tenants et les aboutissants. En d’autres termes, on peut retrouver la nécessité d’un bloc de codes en se référant à son origine dans le modèle des besoins. UML est un langage de modélisation graphique et textuel permettant de représenter et de communiquer les divers aspects d’un système d’information. Etant un langage graphique, UML présente des graphiques auxquels sont associés des textes qui expliquent leur contenu [16] il s’articule sur treize types de diagrammes, chacun d’eux étant dédié à la représentation des concepts particuliers d’un système logiciel. Pour la modélisation de notre application web nous utiliserons les diagrammes suivants : a. Diagrammes dynamiques ou comportementaux : Diagramme de cas d’utilisation : Il montre les interactions fonctionnelles entre les acteurs et le système à l’étude. Diagramme de séquence : Il montre la séquence verticale de messages passés entre objets au sein d’une interaction. Diagramme d’activité : Il montre l’enchaînement des actions et décisions au sein d’une activité. b. Diagrammes structurels ou statistiques : Diagramme de classes : Il montre les briques de base statiques : Classes, associations, interfaces, attributs, opérations, généralisations, etc. Diagramme de navigation : il fournit la possibilité de décrire précisément et exhaustivement les aspects dynamiques de l’interface utilisateur. P a g e | 11 I.3.3. La méthode UP Nous utiliserons une méthode parmi plusieurs qui est la suivante : Le Processus Unifié (UP en Sigle). Le Processus Unifié est un processus de développement logiciel itératif et incrémental, basé sur l’architecture, conduit par les cas d’utilisation et piloté par les risques. Ainsi nous pouvons noter les quatre phases importantes de la méthode UP dans le tableau ci-dessous : Tableau 1.2 les phases de la méthode UP Numéro Phases 1 L’initialisation 2 L’élaboration 3 La construction 4 La transition La phase d’initialisation : elle nous conduit à définir la vision globale du projet, c’est cette phase qui nous permet de voir la faisabilité et la portée afin de prendre des décisions soit de poursuivre ou de mettre fin à la progression du projet. La phase d’élaboration se base sur trois principes suivants : l’identification et la description des parties majeures des besoins de l’utilisation, la construction de l’architecture de base du système ainsi que de lever les risques majeurs du projet. La phase de construction consiste à concevoir et implémenter l’ensemble des éléments opérationnels. La phase de transition consiste de faire passer le système informatique des mains de développeurs aux utilisateurs finaux. I.4. Conclusion partielle En bref ce chapitre nous a présenté le cadre conceptuel de notre travail dont nous avons défini les différents concepts de notre thème de recherche qui est la conception et la mise en place d’un portail Web étudiant-enseignant. P a g e | 12 Nous avons eu à expliciter le sens et le quid du portail dans une organisation avant de parler des technologies qui nous permettront d’implémenter la solution. Dans le cadre théorique nous avons parlé de langage Unified Modeling Language (UML) qui est un langage de modélisation graphique et textuel destiné à comprendre ainsi qu’à pouvoir décrire les besoins, spécifier et documenter le système et de la méthode Unified Process (UP) qui est un processus de développement moderne, itératif, efficace sur des projets informatiques de toutes tailles. P a g e | 13 2. CHAPITRE DEUXIEME : ETUDE DE L’EXISTANT, SOLUTION PROPOSEE ET DESCRIPTION DE L’APPLICATION II.1. Introduction partielle Dans ce chapitre nous voulons passer en revue le système d’information de l’Ecole Supérieure d’Informatique Salama. Cela nous permettra de comprendre le fonctionnement sur lequel est basée la gestion académique de l’ESIS et répertorier les différentes ressources dont elle dispose pour ainsi avoir une idée sur la solution que nous allons implémenter avant de présenter et spécifier notre application, son fonctionnement dans une description plus ou moins détaillée ; ce qui constituera notre cahier des charges. II.2. Etude de l’existant L’étude de l’existant permet au chercheur d’observer et prendre en compte les outils et/ou les technologies mis en place par son champ d’observation. Ici pour nous le champ d’observation est l’Ecole Supérieure d’Informatique Salama ; nous essaierons dans ce point de voir comment l’enseignement et le suivi de cours se passe au sein de l’ESIS, et tous les outils que l’on utilise pour cette fin. L’Ecole Supérieure d’Informatique Salama dispose dans son fonctionnement de plusieurs ressources dont les enseignants, les étudiants, les candidats et mêmes les membres du corps académique ont besoin. Parmi ces ressources nous citons : - Inscription des nouveaux (Candidats) Les cours (Enseignants et Etudiants) Dossiers des étudiants (Etudiants et Institut) Etc. II.3. Solution proposée Etant une institution d’enseignement supérieur et universitaire, l’Ecole Supérieure d’Informatique Salama dispose de plusieurs ressources qui concourent à sa gestion et à son fonctionnement, et elle a besoin d’un outil efficace qui puisse centraliser l’accès à ces ressources et lui faciliter la gestion académique dans son ensemble. L’automatisme étant l’enjeu dans ce besoin, elle désire donner un accès permanent et régulier aux différents membres du corps académique à leurs ressources respectives. P a g e | 14 Aujourd’hui avec la montée incessante de la technologie avec l’avènement des NTIC, l’information circule et atteint le monde entier. Point n’est besoin de se déplacer pour s’informer, à ce jour, l’information vient vous trouver là où vous êtes. C’est dans cette perspective que nous avons proposé cet outil qui est un portail web dans le but de faciliter la communication et de centraliser l’accès aux différentes ressources. II.4. Description du besoin Cette application, le portail web s’adresse : - - - Aux Enseignants : Gérer cours Gérer notes Gérer agenda Aux Etudiants : Accéder à ses dossiers Accéder aux offres de stages Participer au forum Consulter horaire Voir ses notes Aux Candidats : S’inscrire Passer le test d’admission Consulter résultats II.3. Spécifications fonctionnelles II.3.1. Générales 1.1.Connexion Utilisateurs : les utilisateurs de type : « Enseignant », « Etudiant », « Candidat » Description : un utilisateur doit se connecter au moyen d’un Login (Nom d’utilisateur) et un mot de passe selon qu’il est classé dans une catégorie correspondant à son type. P a g e | 15 1.2. Interface graphique Description : l’interface graphique sera constituée (du moins pour l’interface accueil) : o Des boutons « principaux » suivants : Log In et Inscription, et des boutons secondaires suivants : à propos, contact, etc. o Le bouton « Inscription » : renvoie le formulaire d’inscription des candidats désireux de poursuivre leurs études à l’ESIS. o Le bouton « Log In » : renvoie l’interface de connexion. A l’aide de son mot de passe et son nom d’utilisateur, l’utilisateur sera renvoyé à l’interface (la page le concernant selon son type) : L’interface de type « Enseignant » : Annuaire des cours Annuaire de l’enseignant Notes des étudiants Agenda de l’enseignant L’interface de type « Etudiant » : Annuaire de l’étudiant Offres Forum Notes Horaire Valve L’interface de type « Candidat » : Passation du test d’admission Résultats o De plusieurs autres interfaces (secondaires) de renseignement. 1.3. Accès restreint à des types d’utilisateurs Description : chaque page (interface) est accessible aux utilisateurs selon leur profil. Notre application définira les profils suivants : - Enseignant : ce sont tous les enseignants de l’ESIS vacataires et permanents y compris. - Etudiant : ce sont tous les étudiants inscrits à l’ESIS. - Candidat : ce sont les nouveaux venus, tous ceux qui se sont inscrits au test d’admission en passe de devenir étudiants de l’ESIS. P a g e | 16 II.3.2. Annuaire de l’étudiant Description : l’annuaire de l’étudiant est un outil permettant d’accéder aux informations concernant l’étudiant (ses dossiers par exemple). 1. Modification / Ajout / Mise à jour des éléments du dossier Utilisateur : Etudiant Description : L’utilisateur ayant le profil "Etudiant", peut modifier, ajouter et/ou mettre à jour les données suivantes : - Attestation de naissance Attestation d’aptitude physique Attestation de bonne vie et mœurs Bulletin 5ème et/ou 6ème Journal ou diplôme d’état Pièce d’identité Photo (passeport) de l'étudiant 2. Recherche d’un étudiant Utilisateurs : Enseignant, Etudiant Description : A partir d'un champ de recherche (unique), on peut chercher dans la base de données les étudiants. La recherche s'effectue dans les champs : nom, post-nom, prénom, matricule. Par défaut, la recherche se fait sur les étudiants ayant le statut "Etudiant" mais il est possible de spécifier cette valeur. Une recherche permet d'afficher une liste d'étudiant : on affichera un tableau présentant : le nom, le prénom, le post nom, le statut de l'étudiant, le niveau de l'étudiant. On présentera un lien sur le nom de l’étudiant qui pointera vers sa fiche 3. Consultation d'une fiche d'étudiant Utilisateurs : Enseignant Description : L’utilisateur mentionné ci-dessus peut avoir accès aux données d'un étudiant : - Enseignant : accès restreints aux champs suivants : o Matricule de l'étudiant : identifiant unique et invariant dans le temps P a g e | 17 o o o o o o o o o o o o o Nom de l'étudiant Post nom de l'étudiant Prénom de l'étudiant Date de naissance Photo de l'étudiant Numéro de téléphone de l'étudiant Adresse physique de l'étudiant Adresse email ESIS de l'étudiant Adresse email personnel de l'étudiant [OPTIONNEL] Numéro de téléphone 1 de l'étudiant Numéro de téléphone 2 de l'étudiant [OPTIONNEL] Promotion de l'étudiant (Prépa, G1, G2, G3) Statut de l'étudiant (Parmi les valeurs : Candidat, Etudiant, Diplômé, Abandon, Renvoi) On donnera la possibilité à l'utilisateur qui consulte une fiche de l'imprimer. Interface : on peut accéder à la fiche d'un étudiant depuis la fonction de recherche, ou depuis une page qui liste les étudiants par niveaux / options. 4. Consulter une liste d’étudiants Utilisateurs : Enseignant Description : Permet de consulter une liste d'étudiants d'un niveau et de l'imprimer. On affichera tous les étudiants d'un niveau ayant le statut "Etudiant". II.3.3. Annuaire de l’enseignant Description : l’annuaire des Enseignants contient toutes les informations concernant l’Enseignant telles que ses coordonnées, ses aptitudes, etc. 1. Enregistrement / Modification des données d’un enseignant Utilisateurs : Académique, Administratif, Administrateur Description : Les utilisateurs ayant le profil "Académique", "Administratif", "Administrateur" peuvent créer une fiche d’enseignants et ajouter ou modifier les données suivantes : - Matricule de l’enseignant Nom de l’enseignant Post nom de l’enseignant P a g e | 18 - Prénom de l’enseignant Titre de l’enseignant Date de naissance de l’enseignant Photo de l’enseignant Adresse physique de l’enseignant Adresse email de l’enseignant Diplôme 1 de l’enseignant Diplôme 2 de l’enseignant [OPTIONNEL] Diplôme 3 de l’enseignant [OPTIONNEL] Nom de l'entreprise dans lequel travaille l’enseignant Adresse de l'entreprise Numéro de téléphone 1 de l’enseignant Numéro de téléphone 2 de l’enseignant Présentation (Expertise) Taux horaire 2. Rechercher des enseignants Utilisateurs: Enseignant Description : À partir d'un champ de recherche unique, on peut chercher dans la base de données les enseignants. La recherche s'effectue dans les champs : nom, postnom, prénom, matricule. Une recherche permet d'afficher une liste de enseignants : on affichera un tableau présentant : le nom, le prénom, le post nom. On présentera un lien sur le nom de l’enseignant qui pointera vers sa fiche détaillée. 3. Consulter une fiche d’enseignant Utilisateurs : Enseignant Description : Les utilisateurs peuvent avoir accès aux données d'un enseignant selon leur profil : - Enseignant : accès aux données suivantes : nom, prénom, post nom, titre, Adresse physique de l’enseignant, adresse email de l’enseignant, numéros de téléphone de l’enseignant On donnera la possibilité à un utilisateur d’imprimer cette fiche. 4. Consulter une liste d’enseignants P a g e | 19 Utilisateurs : Enseignant Description : L’utilisateur mentionné ci-dessus peut accéder à la liste des enseignants d'un niveau et d'une option (ex : Prépa). On affichera alors dans un tableau : leur nom, post nom, prénom, cours On donnera la possibilité à un utilisateur d'imprimer (au besoin) la liste des enseignants. 5. Gérer un cours Utilisateurs : Enseignant Description : L’utilisateur « Enseignant » gère son cours dans une promotion donnée, il peut mettre son support de cours à la disposition des étudiants, programmer les épreuves dans son cours sur une période bien déterminée. Les étudiants aurons par ricoché la possibilité de télécharger se support. 6. Gérer agenda Utilisateur : Enseignant Description : ceci consiste à gérer les emplois du temps (la disponibilité) de l’enseignant pour savoir quand est-ce qu’il est programmé pour un cours dans une promotion donnée. On donnera à l’enseignant de proposer (donner) aussi son agenda ou emploi du temps sur une période donnée. 1. Donner/Ajouter/Modifier un emploi de temps Utilisateurs : Enseignant Description : On permet à l’utilisateur d’ajouter ou modifier un créneau dans l’emploi du temps. Il devra renseigner : - La promotion concernée - la filière (optionnelle) - l’option concernée (optionnelle) - le cours (on affichera sous forme de liste déroulante la liste des cours du niveau et/ou de l’option sélectionné) - le professeur dispensant ce cours - le local occupé pour ce cours (liste déroulante présentant les locaux de l’ESIS) - le type de plage horaire (cours, interrogation, examen) - le jour (on affichera un datepicker pour sélectionner le jour concerné) P a g e | 20 - l’heure de début (sous forme HH:mm) l’heure de fin de cours (sous forme HH :mm) Lors de l’enregistrement de la plage on veillera à ce qu’aucune autre plage ne soit programmée en même temps que la plage en cours d’enregistrement. On veillera également à la disponibilité des jours. 2. Afficher/Consulter l’emploi de temps Utilisateurs : Etudiant, Enseignant Description : Pour une promotion et une option donnée, un enseignant et un cours donné (qui seront à sélectionner sur l’interface), on affichera l’emploi du temps de l’enseignant sur une plage donnée. Pour une plage, on affichera, le cours, l’enseignant et la plage (de date) de sa disponibilité. 3. Donner/Renseigner son emploi de temps Utilisateur : Enseignant Description : On donnera la possibilité à l’utilisateur de renseigner son emploi du temps une période donnée. 7. Gestion des cotes (notes) Utilisateur : Enseignant Description : gérer les cotes des étudiants dans différentes épreuves (travaux) passées. 1. Encoder les cotes Utilisateur : Enseignant Description : La saisie se passe en 2 temps : 1° L’utilisateur lance l’interface de saisie de cote, il renseigne : - le nom de la saisie de cote (exemple : interrogation NomCours) la matière concernée parmi une liste de cours le type d’épreuve qui concerne la cote (interrogation, examen, TP, TD, etc.) P a g e | 21 - le coefficient de la cote la promotion concernée l’option concernée 2° L’utilisateur saisit les cotes. Par défaut, on présentera la liste des étudiants. On présentera un champ de recherche pour chercher un étudiant parmi les étudiants de la liste (la recherche se fait dans les champs : nom, post nom, prénom, matricule). Un champ permettra d’enregistrer la note et une fois l’enregistrement effectué, la page (cote) sera mise à jour. On enregistre l’enseignant concerné par cet enregistrement ainsi que la date d’ajout de la cote. Une cote peut être modifiée. Dans ce cas, on gardera l’historique et on enregistrera une nouvelle cote. 2. Consulter les cotes (voir ses notes) Utilisateur : Etudiant Description : L’utilisateur étudiant pourra consulter ses cotes (notes). Sur une page, il aura accès à un tableau lui donnant par matière la liste des cotes, la moyenne générale pour chacune des cotes, sa moyenne pour la matière et la moyenne générale de la promotion. 8. Consulter horaire Utilisateurs : Etudiant Description : L’utilisateur aura la possibilité de consulter l’horaire (programme d’un cours spécifique) de sa promotion et pour une période déterminée. 9. Accéder aux offres Utilisateurs : Etudiant Description : Les étudiants peuvent avoir l’information sur les différentes offres (de stage et/ou d’emploi) des entreprises en partenariat avec l’ESIS et ils pourront y postuler selon qu’ils seront intéressés par ces offres. 10. Participer au forum P a g e | 22 Utilisateur : Etudiant Description : Les étudiants ont un besoin, celui d’échanger les expériences entre eux. Le forum pourrait être un moyen plus facile et adapté pour cela. On donnera la possibilité aux étudiants de poser des questions à leurs condisciples, et aussi de répondre à celles des autres sur la plateforme. 11. Passer test d’admission Utilisateur : Candidat Description : Les candidats désirant entrer à l’ESIS sont soumis à un test d’admission. Ce test ils pourront le passer à travers le portail que nous mettrons en place. 12. Consulter les résultats des tests Utilisateur : Candidat Description : Une fois le test passé, l’utilisateur (candidat) aura la possibilité de voir ses résultats toujours à travers cette plateforme. II.4. Conclusion partielle Dans ce chapitre nous avons passé en revue le système d’information de l’ESIS, nous avons donné les motivations de notre travail en présentant la solution proposée à ce système puis nous avons détaillé le fonctionnement de notre application par ce que nous avons appelé cahier des charges de notre application qui reprend les différentes fonctionnalités qui seront implémentées dans ce travail. La répartition des fonctionnalités de ce cahier des charges pour le développement de l’application qui commence déjà à partir du prochain chapitre se présente comme suit : FAILA MALUNGA Daniella - Les fonctionnalités concernant l’étudiant Les fonctionnalités concernant l’inscription des candidats et leur passation du test d’admission KAZADI MUKAYA Aaron - Les fonctionnalités concernant l’enseignant Certaines fonctionnalités concernant l’étudiant P a g e | 23 C’est ainsi que nous concluons la partie théorique de notre travail et passons à la partie pratique. P a g e | 24 3. CHAPITRE TROISIEME : CONCEPTION ET MODELISATION DE L’APPLICATION III.1. Introduction partielle Dans ce chapitre nous allons faire une analyse, mais cela passe impérativement par une modélisation qui permet de structurer et de donner un squelette construisant notre application. III.2. Analyse Selon le dictionnaire Larousse, le mot analyse est une étude faite de discerner les différentes parties d’un tout. Le but de l’analyse est de traduire dans un langage proche de celui des informaticiens les modèles exprimés dans l’expérience des besoins. L’analyse doit servir de support pour la conception, l’implémentation et la maintenance. III.3. Modélisation La modélisation permet de mieux comprendre le système à développer, pour permettre de visualiser le système comme il est ou comme il devait être, de valider le modèle, de spécifier la structure de données et le comportement du système, de fournir un guide pour la construction du système, de documenter le système et les décisions prises [13]. Nous ne pouvons pas parler des diagrammes sans pour autant parler des acteurs ; pour notre cas, nous avons recensé les grandes fonctionnalités de notre système en distinguant trois acteurs qui sont : le candidat, l’étudiant et l’enseignant P a g e | 25 III.4. Les diagrammes UML III.4.1. Le diagramme de cas d’utilisation Ce diagramme nous permet de recueillir, d’analyser et d’organiser les besoins, aussi, il recense les grandes fonctionnalités d’un système. Il modélise les services rendus par le système aux utilisateurs. Il met en évidence ce que l’utilisateur peut faire par rapport au système. Voici la représentation du diagramme de cas d’utilisation de notre système : ESISPORTAIL S'inscrire Passer test <<Include>> Consulter résultats <<Include>> Candidat Vérifier dossiers Mettre à jour dossiers <<Include>> <<Include>> S'informer sur les cours Voir ses notes Accéder aux signalitiques Accéder aux dossiers personnels <<Include>> Participer au forum <<Include>> S'authentifier Etudiant Créer nouveau post Répondre au post <<Include>> Accéder aux offres <<Include>> Postuler à une offre <<Include>> Consulter horaire <<Include>> Accéder à la valve <<Include>> Gérer cours <<Include>> Uploader cours Retirer cours Mettre à jour cours Enseignant Gérer notes Encoder notes Envoyer notes Gérer agenda Consulter agenda Créer agenda P a g e | 26 Figure 3.1 Diagramme des cas d'utilisation P a g e | 27 III.4.2. Etude des cas L’étude des cas consiste à présenter pour chaque cas d’utilisation : - Sa description textuelle, qui est une explication détaillée du cas. - Son diagramme de séquence système, qui est un diagramme qui montre les acteurs externes qui interagissent directement avec le système, non seulement, mais également ce système (en tant que boîte noire) et les événements déclenchés par les acteurs [14]. - Son diagramme des classes participantes, Il s’agit de diagrammes de classes UML qui décrivent pour chaque cas d’utilisation, les trois principales classes d’analyse et leurs relations [15]. Les (trois) classes d’analyse sont : les « dialogues » qui représentent les moyens d’interaction avec le système, les « contrôles » qui contiennent la logique applicative, et enfin les « entités » qui sont les objets "métier" manipulés [16]. 3. S’authentifier a. Description textuelle - - Nom du cas : s’authentifier Objectif : se connecter au compte utilisateur Acteur principal : candidat, étudiant, enseignant Acteur secondaire : Précondition : Scénarios : Nominal : Entrer login et mot de passe Valider Alternatif : Annuler connexion Exception : message d’erreur si login et/ou mot de passe sont incorrects, saisir de nouveau ces derniers Post condition : accéder au compte b. Diagramme de Séquence P a g e | 28 EsisPortal Etudiant LOOP S'authentifier EnterLogIn_pwd() Valider() Système vérifie ALT [Incorrect] LogIn ou Mot de passe Invalide [Correct] Page demandée Figure 3.2 Diagramme de Séquence du C.U. S'authentifier c. Diagramme de classes participantes «Ctrl» S'authentifier «Dlg» S'authentifier Ent. User -LogIn : String -Pwd : String Forum Etudiant +Repondre() +CréerPost() Ent. Candidat - IdCand : String - IdInscr : int - DateInsription : date +Reponse() +Sujet() Ent. Etudiant - MatrEtu : String - Promotion : String - EmailEtu : date Ent. Enseignant - MatrEns : String - TitreEns : String Figure 3.3 Diagramme des classes participantes du C.U. S'authentifier Ent. Personne -id : int -Nom : String -PostNom : String -Prenom : String -Genre : String -DateNaiss : date -Adresse : String -Tel : String -Email : String P a g e | 29 4. S’inscrire a. Description textuelle - Nom du cas : s’inscrire - Objectif : permettre à un candidat de prendre son inscription au test d’admission - Acteur principal : candidat - Acteur secondaire : - Précondition : - Scénarios : Nominal : Remplir formulaire d’inscription Charger dossier Envoyer formulaire Alternatif : Annuler l’inscription Exception : afficher un message d’erreur si le formulaire n’est pas bien remplis - Post condition : code envoyé dans l’adresse mail b. Diagramme de séquence P a g e | 30 EsisPortail Candidat LancerPage() Page lancée RemplirFormulaire() ChargerDossiers() Système charge dossiers ALT [Echec] Chargement echoué [Succés] Chargement réussi EnvoyerFormulaire() Vérification ALT [Echec] [Succés] Veuillez correctement remplir tous les champs Inscription faite Figure 3.4 Diagramme de Séquence du C.U. S'inscrire c. Diagramme des classes participantes P a g e | 31 Ent. Candidat «Dlg» S'inscrire Incription Candidat +ChargerDoc() +Valider() +Annuler() «Ctrl» S'inscrire +Valider() +ChargerDoc() - Id: int - IdCand : String - IdInscr : int -NomCand : String - PostNomCand : String - PrenomCand : String - DateNaiss : date - Genre : String - Adresse : String - Telephone : String - Email : String - DateInsription : date Ent. Dossier 1.1 1.* Ent. Document - Id: int - IdInscr : int - IdDossier : int Figure 3.5 Diagramme des classes participantes du C.U. S'inscrire - IdDossier AttestNaiss : String AttestRes : String AttestMoeurs : String AptPhysique : String DiplomeEtat : String Bulletin5eme : String Bulletin6eme : String PieceIdentite : String P a g e | 32 5. Passer test a. Description textuelle - Nom du cas : passer test Objectif : évaluer le niveau du candidat Acteur principal : candidat Acteur secondaire : Précondition : s’être inscris au test Scénarios : Nominal : Aller sur passer test Entrer code d’accès Valider code d’accès Répondre aux questions Valider Alternatif : Annuler test Exception : message d’erreur si le résultat n’est pas disponible - Post condition : test présenté b. Diagramme des séquences EsisPortail Candidat REF S'authentifier LancerPage() Page de test lancée RepondreQuestions() Envoyer() CalculerResultat() Affichage résultat Figure 3.6 Diagramme de Séquence du C.U. Passer test P a g e | 33 c. Diagramme des classes participantes «Ctrl» Passer test «Dlg» Passer test -IdTest : int -AnneeAcad : int -DateTest : date Test +Presenter() Ent. Test +AfficherQuestions() 1..* Candidat 1 Ent. Candidat -IdCand : int -CodeCand : String Figure 3.7 Diagramme des classes participantes du C.U. Passer test 6. Consulter résultats a. Description textuelle - Nom du cas : consulter résultat Objectif : permettre au candidat d’avoir connaissance de ce résultat une seconde fois Acteur principal : candidat Acteur secondaire : Précondition : avoir passé le test Scénarios : Nominal : Entrer code d’accès Valider code Alternatif : - Exception : afficher un message d’erreur si le code est mal saisi - Post condition : résultat consulté b. Diagramme de séquence P a g e | 34 EsisPortail Candidat REF S'authentifier REF Passer test LancerPage() Chargement résultats ALT [Echec] Résultats non disponibles [Succès] Résultats affichés Figure 3.8 Diagramme de Séquence du C.U. Consulter résultats c. Diagramme des classes participantes «Ctrl» Consulter résultats «Dlg» Consulter résultats Ent. Résultats -resultat : double -Mention : String Résultats +s_authentifier() Candidat +Afficher() +Consulter() 1.1 1.1 Ent. Candidat -IdCand : int -NomCand : String Figure 3.9 Diagramme des classes participantes du C.U. Consulter résultats 7. Accéder aux dossiers personnels a. Description textuelle - Nom du cas : accéder aux dossiers personnels - Acteur principal : étudiant Objectif : permettre à l’étudiant de vérifier ces dossiers, de mettre à jour ces dossiers, de s’informer sur les cours, d’avoir accès aux signalétiques, de voir ses notes Acteur secondaire : Précondition : s’authentifier P a g e | 35 - Scénarios : Option 1 : vérifier dossiers Nominal : Aller sur vérifier dossier Parcourir dossier Alternatif : Exception : - Option 2 : mettre à jour dossier Nominal : Aller sur mettre à jour Chercher document Charger document Valider l’action Alternatif : annuler mise à jour Exception : afficher message d’erreur si la mise à jour à échouée - Option 3 : voir ses notes Nominal : Afficher grille travail Choisir travail Alternatif : Exception : message d’erreur si la page n’est pas disponible - Option 4 : s’informer sur les cours Nominal : Aller sur informations sur les cours Afficher listes des cours ainsi que le volume horaire Alternatif : annuler affichage Exception : message d’erreur si la page ne s’affiche pas - Option 5 : Accéder aux signalétiques Nominal : Aller sur accéder aux signalétiques Vérifier Consulter Alternatif : annuler l’accès Exception : message d’erreur affiché - Post condition : dossiers personnels consultés b. Diagramme de séquence P a g e | 36 EsisPortal Etudiant S'authentifier REF LancerPage() PageLancée AccéderDossierPersonnels() OptionsAffichées OPT vérifierDossier() ALT affichageéchouée [succès] REF affichageréussie VérifierDossier() Mettreàjourdossier() ChargerDocument() chargement ALT [echec] [succès] chargementéchoué chargementréussi ValiderMiseàjour() MiseàjourValidée VoirsNotes() AfficherGrillesTravaux ALT [echec] [succès] cotenonaffiché coteaffiché S'informerSurLesCours DemanderListeCours() AfficherListeCours AccéderSignalitiques DemanderInfosPersonnels() InfosPersonnelsVérifiées Figure 3.10 Diagramme de Séquence du C.U. Accéder aux dossiers personnels P a g e | 37 c. Diagramme des classes participantes «Ctrl» Accéder aux dossiers «Dlg» Accéder aux dossiers Ent. Cours -IdCours : int -IntituleCours : String -VolHoraire : int Dossiers Etudiant +VerifierDossier() +Maj() +VoirNotes() +AccederSignaletique() +VerifierDossier() +Maj() +VoirNotes() +AccederSignaletique() Ent. Signalétiques Ent. Dossier Ent. Document - Id: int - IdInscr : int - IdDossier : int - IdDossier - AttestNaiss : String - AttestRes : String - AttestMoeurs : String - AptPhysique : String - DiplomeEtat : String - Bulletin5eme : String - Bulletin6eme : String - PieceIdentite : String Ent. Note -Intitule : String -Note : float 1.1 1.1 1.1 1.1 Ent. Epreuve Ent. Etudiant -MatrEtu : String -NomEtu : String -Promotion : String -EmailEtu : String 1..* 1..* -IdEpreuve :int -IntituleEpreuve : String -DateEpreuve : date Ent. Enseignant 1..* 1.1 -MatrEns : String -NomEns : String -TitreEns : String -EmailEns : String Figure 3.11 Diagramme des classes participantes du C.U. Accéder aux dossiers personnels P a g e | 38 8. Participer au forum a. Description textuelle - Nom du cas : participer au forum Objectif : permettre aux étudiants d’échangés Acteur principal : étudiant Acteur secondaire : Précondition : s’authentifier Scénarios : Option 1 : Créer post Nominal : Crée post Ecrire Envoyer Alternatif : annuler envoie - Option 2 : Répondre au post Nominal : Répondre au post Ecrire réponse Envoyer Alternatif : annuler envoie de la réponse Exception : afficher message d’erreur si le message n’est pas envoyer - Post condition : échange effectué b. Diagramme de séquence P a g e | 39 EsisPortail Etudiant REF S'authentifier LancerPage() ALT [Echec] Page non disponible [Succès] Page de forum lancée OPT RepondreAuPost() Liste des posts ChoisirPost() EcrireMessage() Envoyer() Enregistrement ALT [Echec] Réponse non envoyée [Succès] Réponse envoyée CréerPost() Affichage formulaire SaisirSujet() Envoyer() Enregistrement ALT [Echec] [Succès] Echec envoie Post envoyé Figure 3.12 Diagramme de Séquence du C.U. Participer au forum P a g e | 40 c. Diagramme des classes participantes «Dlg» Participer au forum «Ctrl» Participer au forum -IdMsg : int -MsgTypeRep : String -MsgTypeSujet : String Forum +Repondre() +CréerPost() Etudiant Ent. Message +Reponse() +Sujet() 1..* 1.1 Ent. Etudiant -MatrEtu : String -NomEtu : String -PromotionEtu : String -DatePost : date Figure 3.13 Diagramme des classes participantes du C.U. Participer au forum 9. Accéder aux offres a. Description textuelle - Nom du cas : accéder aux offres Objectif : permettre à un étudiant d’avoir accès aux offres de stages Acteur principal : étudiant Acteur secondaire : Précondition : s’authentifier Scénarios : Option 1 : postuler à une offre Nominal : Aller sur menu offres Parcourir les offres Choisir une offre valider Alternatif : Annuler la candidature Exception : un message d’erreur si la plage est déjà atteinte - Post condition : accès réussis et choix opéré b. Diagramme de séquence P a g e | 41 EsisPortail Etudiant REF S'authentifier LancerPage() Chargement Liste des offres ChoisirOffre() OPT Postuler() Chargement ALT [Echec] Candidature non valide [Succès] Candidature envoyée Figure 3.14 Diagramme de Séquence du C.U. Accéder aux offres c. Diagramme des classes participantes «Ctrl» Accéder aux offres Ent. Offres «Dlg» Accéder aux offres -IdOffre : int -NumOffre : int -LibelleOffre : String Offres +Postuler() 0..* +Valider() 1..* Etudiant 1..* Ent. Etudiant Ent. Entreprise -NomEse : String -OffreEse : String 1.1 -MatrEtu : String -NomEtu : String -Promotion : String -EmailEtu : date Figure 3.15 Diagramme des classes participantes du C.U. Accéder aux offres 10. Consulter horaire a. Description textuelle - Nom du cas : consulter horaire Objectif : permettre à l’étudiant de connaitre son horaire de la semaine Acteur principal : étudiant P a g e | 42 - Acteur secondaire : Précondition : s’authentifier Scénarios : Nominal : Aller sur menu horaire Consulter Alternatif : - Exception : Post condition : l’horaire est consulté - b. Diagramme de séquence EsisPortail Etudiant REF S'authentifier AfficherHoraire() Chargement horaire ALT [Echec] Horaire non disponible [Succès] Horaire affiché Figure 3.16 Diagramme de Séquence du C.U. Consulter horaire P a g e | 43 c. Diagramme des classes participantes «Dlg» Consulter horaire «Ctrl» Consulter horaire Ent. Horaire -Intitulé : String Horaire +Ouvrir() +Afficher() Etudiant 1.1 1.* Ent. Etudiant - IdEtu : int - MatrEt : String - EmailEsis : String Figure 3.17 Diagramme des classes participantes du C.U. Consulter horaire 11. Accéder à la valve a. Description textuelle - Nom du cas : accéder à la valve - Acteur principal : étudiant Objectif : permettre à un étudiant d’avoir connaissance des annonces, des communiqués, etc. Acteur secondaire : Précondition : s’authentifier Scénarios : Nominal : Aller sur valve Afficher valve Parcourir valve Alternatif : Interrompre action Exception : afficher un message d’erreur si valve ne s’affiche pas - Post condition : avoir les communiqués et annonces courantes b. Diagramme de séquence P a g e | 44 EsisPortail Etudiant REF S'authentifier LancerPage() Chargement Page lancée AfficherValve() Chargement ALT [Echec] Valve non valide [Succès] Valve affichée Figure 3.18 Diagramme de Séquence du C.U. Accéder à la valve c. Diagramme des classes participantes «Dlg» Accéder à la valve «Ctrl» Accéder à la valve -Id : int -Annonce : String Valve Etudiant +Consulter() Ent. Valve +Afficher() +Consulter() 1..* 1 Ent. Etudiant -MatrEtu : String -NomEtu : String -Promotion : String -EmailEtu : String Figure 3.19 Diagramme des classes participantes du C.U. Accéder à la valve 12. Gérer cours a. Description textuelle - Nom du cas : gérer cours P a g e | 45 - Objectif : permettre à l’enseignant de mettre d’uploader les cours, de les mettre à jour et de les retirés - Acteur principal : enseignant Acteur secondaire : Précondition : s’authentifier Scénarios : Option 1 : Uploader cours Nominal : Chercher le support de cours dans le dossier de l’emplacement Sélectionner le cours Charger cours valider Alternatif : annuler l’opération Exception : message d’erreur si le chargement est mal effectuer - Option 2 : Retirer les cours Nominal : Sélectionner le cours Cliquer sur retirer les cours Alternatif : annuler le retrait Exception : afficher message d’erreur - Option 3 : Mettre à jour cours Nominal : Sélectionner le support de cours à mettre à jour Le remplacer par une nouvelle version Alternatif : annuler la mise à jour Exception : un message d’erreur si la mise à jour n’est pas effectuée - Post condition : cours géré P a g e | 46 b. Diagramme de séquence EsisPortal Enseignant REF S'AUTHENTIFIER LancerPage() PageLancée GererCours() Options Affichées UploaderCours() OPT Chargement ALT [echec] [succes] Syllabus_non_chargé Syllabus_chargé RetirerCours() Cours Affichés chargement ChoisirCours() ValiderAction() ALT [echec] [succes] Syllabus_non_retiré Syllabus_retiré MajCours() OuvrirCours() ModifierCours() EnregistrerModification() enregistrement ALT [echec] Echec de mise à jour [succes] mise à jour effectuée P a g e | 47 Figure 3.20 Diagramme de Séquence du C.U. Gérer Cours c. Diagramme des classes participantes «Ctrl» GererCours «Dlg» GererCours gererCours +uploaderCours() +retirerCours() +mettreàjourCours() Enseignant Ent. Cours -IntituléCours : string -VolumeHoraireCours : int +ConsulterCours() +MettreàJoursCours +uploaderCours() 1..* 1 Enseignant _MatriculeEnseignant : string -NomEnseignant : string -¨PostNomEnseignant : string Figure 3.21 Diagramme des classes participantes du C.U. Gérer Cours 13. Gérer notes a. Description textuelle - Nom du cas : gérer notes - Acteur principal : enseignant Objectif : donner la possibilité à l’enseignant de saisir et d’envoyer les notes dans son cours Acteur secondaire : Précondition : s’authentifier Scénarios : Option 1 : Encoder notes Nominal : Créer une épreuve Saisir la note pour chaque étudiant Alternatif : annuler l’encodage Exception : message d’erreur si l’encodage n’est pas effectuer - Option 2 : Envoyer notes Nominal : Après avoir saisi la note, l’envoyer Alternatif : annuler l’envoi Exception : afficher message d’erreur si l’envoie ne réussis pas - Post condition : notes envoyées P a g e | 48 b. Diagramme de séquence EsisPortal Enseignant REF S'AUTHENTIFIER LancerPage() Page Lancée GererNotes() Options Affichées EncoderNotes() OPT Liste des étudiants CreerEpreuve() Chargement ALT [echec] [succes] Epreuve non créée Epreuve créée SaisirNotes() ActiverNote() Liste Chargement SelectionnerNote() Envoyer() Chargement ALT [echec] [succes] Echec de l'activation Notes envoyées Figure 3.22 Diagramme de Séquence du C.U. Gérer Notes P a g e | 49 c. Diagramme des classes participantes DialogueGererNotes GérerNotes Enseignant Encoder() Créer() Activer() Enseignant ControleurGérerNotes -Matricule:string -NomEnseig:string -PostNom : string -TelEnseig : string +EncoderPoint() +CreerEpreuve +ActiverNotes() 1 1..* Notes -IntituléNote:string --MaxNote : int Epreuves 1..* 1..* 1 Etudiants -NomEtud : string -PostNom : string -NumTel : string -Email : string Figure 3.23 Diagramme des classes participantes du C.U. Gérer Notes 1 -IntituléEp: string -MaxPoint : int -Date:date 1..* 1 Cours -IntituléC : string -VolhC : int P a g e | 50 14. Gérer agenda a. Description textuelle - Nom du cas : gérer agenda - Acteur principal : enseignant Objectif : permettre à l’enseignant d’avoir une idée claire sur l’horaire établi par l’école par rapport à son cours et à une promotion donnée Acteur secondaire : Précondition : s’authentifier Scénarios : Option 1 : Consulter agenda Nominal : Afficher l’agenda établis par l’école pour son cours Alternatif : Exception : erreur si l’agenda ne s’affiche pas - Option 2 : Créer agenda Nominal : Aller sur nouveau Création Définir disponibilité Alternatif : annuler la création de l’agenda Exception : message d’erreur si l’agenda n’est pas créer - Post condition : agenda créé b. Diagramme de séquence P a g e | 51 ESISPORTAL Enseignant REF S'authentifier LancerPage() Page Lancée GererAgenda() Options Afiichées OPT ALT ConsulterAgenda() [echec] [succès] Agenda non Disponible Agenda Affiché CreerAgenda() Calendrier SelectionnerPlage() Envoyer() chargement ALT [echec] [succès] Agenda non créé Agenda créé Figure 3.24 Diagramme de Séquence du C.U. Gérer agenda P a g e | 52 c. Diagramme des classes participantes Ent. Enseignant -MatrEns : string -NomEns : string -TitreEns : string «Dlg» Gérer agenda «Ctrl» Gérer agenda Agenda Enseignant +ConsulterAgenda() +CréerAgenda() 1.1 1.1 +GererAgenda() +CreerAgenda() Ent. HoraireCours -Promotion : String -Horaire : String -Date : date Figure 3.25 Diagramme des classes participantes du C.U. Gérer agenda Ent. Agenda -IdAgenda : int -IntituléAgenda : string -DateAgenda : date P a g e | 53 III.4.3. Modèle du domaine 1 Horaire Valve -Id : int -Annonce : String 1..* Consulter -LogIn : String -Pwd : String 1.* 1.* 1..* 1..* 1 1..* 1..* Passer 1 Appartenir Personne -MatrEtu : String -Promotion : String -EmailEtu : String Publier 1 -id : int -Nom : String -PostNom : String -Prenom : String -Genre : String -DateNaiss : date -Adresse : String -Tel : String -Email : String Document Dossier -IdDossier : int -NomDoc :String - IdDossier : int -NomDossier : String DetailCours 1..* Epreuve -NomEse : String -OffreEse : String -IdEpreuve :int -IntituleEpreuve : String -DateEpreuve : date - MatrEns : String - TitreEns : String 1..* 1 Encoder 1..* Note -IdAgenda : int -IntituléAgenda : string -DateAgenda : date 1 -Intitule : String -Note : float Publier 1..* -IdMsg : int -ObjetMsg : String -DateMsg : date 1 Promotion -IdProm : int -Promotion : String Filière 1..* Figure 3.26 Modèle du domaine Comprendre 1..* -IdCours : int -IntituleCours : String -VolHoraire : int 1 1 1..* Agenda Message 1..* Dispenser Concerner 1 Etre inscrit -IntituleCours : String -VolHoraire : int Cours Enseignant Consulter Signalétiques 1..* Prendre connaissance Entreprise -Id : int -Nom : String 1.1 1 1..* 1 1..* Test -IdTest : int -DateTest : date Passer Consulter Etudiant Postuler -IdOffre : int -NumOffre : int -LibelleOffre : String Candidat - IdCand : String 1..* 1..* Offres User -Intitulé : String -IdFil : int -Filiere : String 1 Concerner 1..* Inscription - IdInscr : int - DateInsription : date 1 P a g e | 54 III.4.3.1. Transformation du modèle du domaine en modèle relationnel Le modèle relationnel est issu du modèle du domaine suivant une transformation basée sur certaines règles. Pour notre cas, nous nous sommes servis des règles suivantes [17] : La présence de multiplicité ( ?..1) d’un côté de l’association, on procède comme suit : - Chaque classe se transforme en une table - Chaque attribut de classe se transforme en un champ de table - L’identifiant de la classe qui est associée à la multiplicité ( ?..) devient la clé étrangère de l’autre classe La présence de ( ?..N) des deux côtés de l’association - Chaque classe se transforme en une table - Chaque attribut de classe se transforme en un champ de table - L’association se transforme en une table. Cette table a comme champs l’identifiant de chacune de deux classes, plus d’éventuels autres attributs. La présence d’une généralisation - Créer une table pour chaque sous type, chaque table se compose des attributs génériques et d’attributs spécifiques Voici notre modèle relationnel après l’usage des règles ci-dessus 1. Enseignant (MatrEns, Nom, Postnom, Prenom, Genre, Adresse, Telephone, Email, DateNaiss, TitreEns) 2. Etudiant (MatrEtu, Nom, Postnom, Prenom, Genre, Adresse, Téléphone, Email) 3. Cours (IdCours, NomCours, Pondération, #MatrEns) 4. Epreuve (IdEpreuve, #IdCours, #MatrEtu) 5. Notes (IdNote, #IdCours, #IdEpreuve, #MatrEtu) 6. Agenda (IdAgenda, #MatrEns) 7. Message (IdMessage, ObjetMsg, DateMsg, #MatrEtu) 8. Entreprise (IdEntreprise, NomEse, OffreEse) 9. Offre (IdOffre, NumOffre, libeleOffre, #IdEntreprise) 10. Postuler (MatrEtu, IdOffre) 11. Promotion (IdProm, promotion, #MatrEtu) P a g e | 55 12. Filière (IdFil, Filière) 13. Comprendre (IdProm, IdFil) 14. Valve (IdValve, annonce, #MatrEtu) 15. Signalétique (Id, nom, #MatrEtu) 16. Horaire (IdHoraire, intitule) 17. Consulter (MatrEtu, IdHoraire) 18. DetailCours (IdDetail, #IdCours) 19. PrendreConnaissance (IdDetail, MatrEtu) 20. Candidat (IdCand, Nom, Postnom, Prenom, Genre, DateNaiss, Adresse, Telephone, email) 21. Inscription (IdInscription, #IdCand) 22. Test (IdTest, #IdCand) 23. Dossier (IdDossier, NomDossier, #IdCand) 24. Document (IdDocument, NomDocument, #IdDossier) III.4.4. Diagramme de classes de conception Le diagramme de classe de conception modélise le diagramme de classes, qui servira à l’implémentation de l’application [17]. P a g e | 56 Candidat Horaire Valve User -Intitulé : String -Id : int -Annonce : String +Creer() +MaJ() Etudiant Offres -IdOffre : int -NumOffre : int -LibelleOffre : String -IdTest : int -DateTest : date +Enregisrer() +Modifier() +Supprimer() +Passer() +Corriger() +S_inscrire() -LogIn : String -Pwd : String +Consulter() +Consulter() +Creer() Test - IdCand : String Personne -MatrEtu : String -Promotion : String -EmailEtu : String Document -id : int -Nom : String -PostNom : String -Prenom : String -Genre : String -DateNaiss : date -Adresse : String -Tel : String -Email : String +Ajouter() +Maj() +Publier() +Postuler() -IdDossier : int -NomDoc :String Dossier - IdDossier : int -NomDossier : String +Verifier() +MaJ() +Creer() DetailCours Entreprise -NomEse : String -OffreEse : String +Creer() +MaJ() Epreuve Enseignant Signalétiques +Modifier() +Ajouter() +MaJ() +Supprimer() +Ajouter() +MaJ() Note Agenda -Intitule : String -Note : float -IdAgenda : int -IntituléAgenda : string -DateAgenda : date +MaJ() +Verifier() -IdCours : int -IntituleCours : String -VolHoraire : int - MatrEns : String - TitreEns : String +Creer() +Modifier() -Id : int -Nom : String -IntituleCours : String -VolHoraire : int Cours -IdEpreuve :int -IntituleEpreuve : String -DateEpreuve : date +Ajouter() +MaJ() +Supprimer() +Creer() +Modifier() +Ajouter() +Creer() +Modifier() +Supprimer() Message Promotion -IdMsg : int -ObjetMsg : String -DateMsg : date -IdProm : int -Promotion : String -NbreEtu : int -IdFil : int -Filiere : String +Creer() +Envoyer() +Commenter() +Creer() +MaJ() +Creer() Inscription - IdInscr : int - DateInsription : date +Valider() +Verifier() +Enregistrer() Filière Figure 3.27 Diagramme de classes de conception III.4.5. Diagramme de navigation Le diagramme de navigation modélise les interactions entre les objets en mettant l’accent sur l’aspect spatial. Il représente de manière pratique la navigabilité entre les objets sous forme d’échange de messages. P a g e | 57 «Page» Page d'accueil Prendre son inscription Accéder au portail LogIn ou password [Incorrect] Accéder au portail «Page» Authentification «Page» Inscription LogIn et password [Correct] «Frame» Page Utilisateur «Page» Test Passer le test d'admission Résultats «Frame» Résultats du test Portail Enseignant Portail Etudiant Candidats retenus «Page» Enseignant «Page» Liste des étudiants Gérer cours Gérer notes Gérer agenda «Page» Etudiant Accéder aux dossiers personnels «Page» Géstion cours Participer au forum Postuler à une offre «Page» Géstion notes Accéder à la valve Consulter horaire «Page» Dossiers personnels «Page» Forum «Page» Offres Figure 3.28 Diagramme de navigation «Page» Horaire «Page» Valve «Page» Géstion Agenda P a g e | 58 III.5. Conclusion partielle Dans ce chapitre il s’est agi de présenter le plan « architectural » de l’application que nous comptons mettre en place. Nous avons présenté les différents diagrammes UML qui nous permettent d’avoir une idée claire sur le comportement et le fonctionnement de l’application avant même de la mettre sur pied. Nous avons commencé par recenser les différents acteurs qui interagissent avec notre système, nous avons présenté le diagramme des cas d’utilisation, qui reprend les acteurs et les actions qu’ils posent dans le système, en suite nous avons pour chaque cas d’utilisation présenté le diagramme de séquence système basé sur une description textuelle du cas, et aussi le diagramme des classes participantes qui ressort toutes les entités qui concourent à la réalisation de ce cas, et enfin nous avons chuté par présenter le modèle du domaine et sa transformation en modèle relationnel qui donne l’image de notre base de données avant de présenter le diagramme de classes de conception qui reprend tous les objets nécessaires à la mise en œuvre de l’application. P a g e | 59 4. CHAPITRE QUATRIEME : REALISATION DE L’APPLICATION IV.1. Introduction partielle Ce chapitre constitue la partie pratique de la solution apportée. Nous essaierons de parler brièvement des outils et langages de programmation que nous avons utilisés pour la réalisation de notre application. IV.2. Outils et langages utilisés Un programme est un ensemble d’instructions détaillées et exécutées par le processeur de l’ordinateur. Pour obtenir un résultat dans n’importe quel domaine nous avons besoin d’outils et langages qui nous amèneront à notre solution. IV.3. Choix du langage Un langage de programmation est un code de communication, permettant à un être humain de dialoguer avec une machine en lui soumettant des instructions et en analysant les données matérielles fournies par le système, généralement un ordinateur. Le langage permet à la personne qui rédige un programme (programmeur), de faire abstraction de certains mécanismes internes, généralement des activations et désactivations de commutateurs électroniques, qui aboutissent au résultat désiré [17]. Pour l’implémentation de notre application, nous avons utilisé les langages suivant : PHP : est un langage de programmation permettant par la génération du code HTML de créer de pages (web) dynamiques [18]. HTML (HyperText Mark up Langage) qui est un langage de description de données, permettant de créer des pages web pouvant être lues dans des navigateurs [19]. Le BOOSTRAP : est un Framework du CSS permettant par ses classes personnalisées de perfectionner l’apparence de nos pages web. P a g e | 60 Le CSS (Cascading Style Sheets) est un langage de mise en forme. Le JQUERY : est un Framework JavaScript, c’est une énorme bibliothèque de fonctions JavaScript qui ont été écrites et regroupées en un seul et unique fichier pour plus de simplicité [20]. JAVASCRIPT : est un langage de script incorporé dans un document HTML IV.4. Choix du SGBD Pour assurer le stockage des informations nous avons opté pour le Système de Gestion de Base de Données MySQL. Ce dernier vient déjà incorporé dans l’environnement WampServer, qui est une plate-forme de développement web permettant de faire fonctionner en local des scripts PHP. Il comprend deux serveurs qui sont Apache et MySQL, un interpréteur de script PHP ainsi que PhpMyAdmin pour l’administration et les maquettes. IV.5. Architecture logicielle utilisée En ce qui concerne l’architecture logicielle, nous avons utilisés l’architecture en couche qui est un modèle d’architecture appelé « MVC ». En effet, ce modèle propose une subdivision du code en 3 couches principales formant les initiales MVC (Modèle – Vue – Contrôleur). Du point de vue application, l’entrée de l’application est la couche contrôleur. Toutes les entrées (les requêtes) passent d’abord par un contrôleur. Un contrôleur peut aller manipuler les données Nécessaires en interagissant avec la couche du modèle. Le modèle est la couche qui gère les données persistantes, et l’accès à ces données. C’est à partir de la couche « Modèle » que les actions ordonnées par le contrôleur sur les données seront effectuées. Une fois les données opérées et récupérées, le contrôleur fournit à la couche « Vue » les données nécessaires à l’affichage. Il peut arriver que la couche « vue » accède directement aux informations via la couche « modèle ». Le Modèle : est la couche qui gère les données persistantes, et l’accès à ces données. C’est au niveau de la couche « Modèle » que les actions ordonnées par le contrôleur sur les données seront effectuées. Son rôle est de gérer les données et le contenu. P a g e | 61 La Vue : son rôle est d’afficher les pages. Elle est constituée des éléments graphiques tels que des contrôles utilisateurs, des pages Web ou encore des Master Pages. Le Contrôleur : Le point d’entrée de l’application est la couche contrôleur. Toutes les entrées (les requêtes) passent d’abord par un contrôleur. Un contrôleur peut aller manipuler les données nécessaires en interagissant avec la couche du modèle. Son rôle est de générer la réponse à la requête http demandée par notre visiteur. Il est la couche qui se charge d’analyser et de traiter la requête de l’utilisateur et de renvoyer les bonnes informations. Le contrôleur contient la logique de notre site Internet et va se contenter « d’utiliser » les autres composants : les modèles et les vues. Il est constitué d’un ensemble de classes permettant de créer les objets métiers manipulés dans l’application, et d’exécuter les traitements métiers [20]. IV.6. Diagramme de composants Le diagramme de composants permet de représenter les composants logiciels d'un système ainsi que les liens existant entre ces composants. Il décrit l'organisation du système du point de vue des éléments d'application comme les modules (paquetages, fichiers sources, bibliothèques, exécutables), des données (fichiers, bases de données) ou encore d'éléments de configuration (paramètres, scripts, fichiers de commandes). La représentation « boite noire » par connecteur d'interface donne une vue externe du composant et présente ainsi ses interfaces fournies et requises sans entrer dans le détail de l'implémentation du composant [22]. P a g e | 62 «Interface» Recepteur (Socket) Navigation SGBD +Protocole = "Http" +Port = 8080 «Interface» Emetteur (Socket) +Protocole = "Http" +Port = 8080 «Interface» MySQL (Socket) Site web +Protocole = "TCP" +Port = 3306 Site web Figure 4.1 Diagramme de Composants IV.7. Diagramme de déploiement Le diagramme de déploiement décrit la disposition physique des ressources matérielles qui composent le système et montre la répartition des composants sur ces matériels. Chaque ressource étant matérialisée par un nœud, le diagramme de déploiement précise comment les composants sont répartis sur les nœuds et quelles sont les connexions entre les composants ou les nœuds. P a g e | 63 Serveur Web «Component» Apache Version 2.2.21 USER TCP/IP «Component» Navigateur SGBD «Component» MySQL Version 5.5.20 Figure 4.2 Diagramme de déploiement IV.6. Présentation de l’application IV.6.1. Quelques interfaces IV.6.1.1. Accueil Figure 4.3 Ecran d'accueil principal Fifefox, Chrome, Opera, ... P a g e | 64 IV.6.1.2. Inscription (Charger Dossiers) Figure 4.4 Charger Dossiers personnels IV.6.1.3. Test d’admission Figure 4.5 Passer test P a g e | 65 IV.7. Conclusion partielle Ce chapitre a consisté à faire une brève description de notre application en présentant les outils et langages utilisés nous avions dit que pour obtenir un résultat dans n’importe quel domaine nous avons besoin de ces derniers afin d’aboutir à n’importe quelle solution, pour le stockage des informations nous avons opté pour le système de gestion de base de données MySQL. En ce qui concerne l’architecture logiciel nous avons utilisés l’architecture en couche qui est un modèle d’architecture appelé « modèle MVC » ce modèle propose une subdivision du code en 3 couches, nous avions aussi parler de notre diagramme de déploiement qui décrit la disposition physique des ressources matérielles qui composent le système et montre la répartition des composants sur ces matériels et pour finir nous avions présentés quelques interfaces de notre l’application. P a g e | 66 CONCLUSION GENERALE Au bout de notre cursus, après avoir passé quatre ans d’études à l’Ecole Supérieure d’Informatique Salama. Ce travail scientifique représente le fruit de nos recherches en tant que finaliste pour marquer la fin de nos études et confirmer la qualification d’ingénieur informaticien en génie logiciel gestion et en génie logiciel systèmes informatiques. Nous voilà au terme de notre travail scientifique intitulé : « gestion académique : conception et mise en place d’un portail web étudiant-enseignant », nous avons pris le cas de l’ESIS. Notre travail a commencé par une introduction générale suivie de quatre chapitres ainsi que leurs conclusions partielles. Pour donner un sens à cette structure nous n’avons pas oublié la conclusion générale, c’est dans différents points que nous avons abordés différents aspects du sujet. Pour mener à bien notre travail nous avons recouru aux différentes méthodes, partant de l’existant en usage pour enfin proposer des solutions, après avoir pris connaissance de toutes les insuffisances constatées. A l’issue de notre travail, nous avons eu la pensée de concevoir et de mettre en place un portail Web étudiant-Enseignant par le biais d’une solution informatique adéquate qui donnera une ouverture ou une entrée commune à toutes les ressources dont une institution académique dispose. Nous ne prétendons pas que notre travail soit exempt d’imperfections et nous espérons que d’autres études seront menées dans le même sens que le nôtre afin d’approfondir l’un ou l’autre aspect que nous n’avons pas pu développer. P a g e | 67 Pour ce faire, nous demandons votre indulgence pour les éventuelles erreurs et omissions. Nous restons ouverts à toutes les critiques objectives que tout chercheur pourra bien nous adresser après la lecture de ce présent travail. P a g e | 68 REFERENCES [1] P. Breton, Histoire de l'informatique, Paris: La Découverte, 1987. [2] «latin_dictionnaire,» [En ligne]. Available: http://www.lexilogos.com/latin_dictionnaire.html. [Accès le 20 septembre 2018]. [3] «latin_dictionnaire,» [En ligne]. Available: http://www.lexilogos.com/latin_dictionnaire.html. [Accès le 20 septembre 2018]. [4] K. M. Carmine, KANYEBA MUTOMBO Carmine, « Conception d’une plateforme mobile-learning d’une institution » (Cas de l’ESIS), ESIS, septembre 2017.. [5] K. K. Serge, KUMWIMBA KISHIKO Serge, « Outil d’évaluation de la eréputation d’une entreprise et/ou d’une marque congolaise et d’aide à la prise de décisions selon le comportement de ses visiteurs et de ses concurrents », ESIS, septembre 2017.. [6] [En ligne]. Available: https://www.linternaute.fr/dictionnaire/fr/definition/portail/. [Accès le le 11 Août 2018]. [7] [En ligne]. Available: http://www.lexilogos.com/latin_dictionnaire.html. [Accès le le 02 Septembre 2018]. [8] [En ligne]. Available: https://www.technoscience.net/?onglet=glossaire&definition=1434. [Accès le le 02 Septembre 2018]. [9] M. B. HENDA, ETUDE SUR LES PORTAILS ET AGREGATEURS DES RESSOURCES PEDAGOGIQUES UNIVERSITAIRES FRANCOPHONES EN ACCES LIBRE, IDNEUF, 2015. [10] M. B. HENDA, ETUDE SUR LES PORTAILS ET AGREGATEURS DES RESSOURCES PEDAGOGIQUES UNIVERSITAIRES FRANCOPHONES EN ACCES LIBRE, IDNEUF, 2015. [11] M. B. HENDA, ETUDE SUR LES PORTAILS ET AGREGATEURS DES RESSOURCES PEDAGOGIQUES UNIVERSITAIRES FRANCOPHONES EN ACCES LIBRE, IDNEUF, 2015. [12] P. Kasonga, cours de conception des systèmes d'informations avec UML, 2016, p.5. [13] P. Kasonga, Cours de Conception des systèmes d'informations avec UML (16, p.5). [14] P. Roques, UML 2 Modéliser une application web, 4e éd., Paris: Eyrolles, 2008. [15] P. Roques, UML 2 Modéliser une application web, 4e éd., Paris: Eyrolles, 2008. [16] P. Roques, UML 2 Modéliser une application web, 4e éd., Paris: Eyrolles, 2008. [17] P. Roques, UML en action. De l'analyse à la conception en java, 2e éd., Paris: Eyrolles, 2003. [18] P. Kasonga, Cours de conception et modélisation avec UML, ESIS, 2016. P a g e | 69 [19] R. Ogor, Cours de modélisation avec UML. [20] M. Nebra, Concevez votre site avec PHP et MySQL, 2013. [21] M. Nebra, Concevez votre site avece PHP et MySQL, 2013. [22] L. Masangu, Cours de Conception et developpement web, Lubumbashi: Esis, 2018. [23] K. K. Serge, TFC : Outil d'évaluation de la e-réputation d'une entreprise etou d’une marque congolaise et d'aide à la prise de décision selon le comportement de ses visiteurs et de ses concurrents sur les réseaux sociaux, ESIS, 2017.