WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et implémentation d'un site web de publication des résultats des étudiants dans une institution universitaire (cas de l'université de Kamina)


par Charles BWANGA KATEBA
Université de Kamina - Licence 2021
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

UNIVERSITE DE KAMINA

« UNIKAM »

B.P. 279

KAMINA

FACULTE DES SCIENCES INFORMATIQUES

DEPARTEMENT D'INFORMATIQUE DE GESTION

CONCEPTION ET IMPLEMENTATION D'UN SITE WEB DE PUBLICATION
DES RESULTATS DES ETUDIANTS DANS UNE INSTITUTION
UNIVERSITAIRE

« Cas de l'Université de Kamina »

Par BWANGA KATEBA Charles

Mémoire présenté et défendu en vue de l'obtention du grade de Licencié en Sciences Informatiques.

OPTION : CONCEPTION DES SYSTEMES D'INFORMATION

Directeur : Docteur Daily KALOMBO NSHIMBA VIDJE

ANNEE ACADEMIQUE 2020-2021

i

EPIGRAPHE

« Il n'y a aucun secret pour réussir. C'est le résultat de la préparation, le travail acharné et apprendre de l'échec. »

Colin Luther Powell

ii

IN MEMORIUM

A vous très chère Grand-Mère paternelle Véronique NKULU ;

A vous chers oncles paternels Jacques TSHIKALA et Faustin KATEBA.

Univers d'amour et de fiabilités, malgré les dures tempêtes que nous avons rencontrées ensemble toujours unis nous formons une armée abreuvant notre force d'amour, justice et vu nous avons grâce à vous pour avoir constitué une belle et grande famille, malgré votre départ survie par unité. Usé par les batailles que votre absence nous donne et là nous apprenons à pardonner la vie jamais je vais essayer de vous oublier.

Tout ce moment inavoué, est perdu, à tout jamais. Je braderai toutes les mères, les obstacles et les barrières rien ne pourra vous remplacer mes yeux s'allument quand je pense à vous mais le destin vous a récupéré si vite, vous me manquez vraiment ma dernière parole avant d'achever ma rédaction : « Que les âmes des fidèles défunts reposent en paix !».

BWANGA KATEBA Charles

iii

DEDICACE

Aux concepteurs des Systèmes d'information ;

Aux professionnels informaticiens ;

Au Monde Informatique ;

A tous ceux qui oeuvrent pour la paix dans le monde.

BWANGA KATEBA Charles

iv

REMERCIEMENTS

Nous voici à la fin de notre cycle de licence, grâce au concours de plusieurs personnes. Le travail que nous présentons ce jour n'est pas exclusivement le fruit de nos efforts personnels, il est au contraire, l'oeuvre provenant du concours de plusieurs personnes. Qu'elles soient toutes remerciées pour les peines consenties afin de nous aider à nous dépasser, à terminer ce cycle, malgré les difficultés quotidiennes.

« Dieu est en tous ses ouvrages, quoiqu'il n'y en ait aucun qui le contienne. » (SAINT AUGUSTIN), ainsi, lui étant omniscient, nous ne cesserons jamais d'oublier sa magnificence car il est notre rédempteur : merci Seigneur Dieu de nous avoir comblé de grâce, et de nous avoir accordé la chance d'étudier tout au long de notre cursus académique en Sciences Informatiques précisément au département de Conception des Systèmes d'Information.

PARKER dit : « Ne laissons pas les nobles hommes de nos jours passer sans recevoir l'honneur qui leur est dû. » de ce fait, nos mille mercis et reconnaissances s'adressent d'une façon particularisée à notre directeur Docteur Daily KALOMBO NSHIMBA VIDJE, qui, en dépit de ses multiples préoccupations a en assuré la direction de ce travail.

Aussi, il nous est agréable de rendre hommage au corps professoral de l'université de KAMINA, aux doyens de la faculté des Sciences Informatiques, aux chefs des travaux : Elie Louis KABWE KIONDE KABUTA et Lucide BULA, aux assistants : Hilaire KENDA, Bertin LOBO, Gabin NDAY A MANDE, Jean Paul BWANA, Baldo MWAMBA, Valéry KABONGO, David KADIATA, Gloire ILUNGA, et tant d'autres.

D'après QUINET « Une âme grande, pure, généreuse est un trésor, pour le peuple qui l'a enfantée et nourrie, car c'est le modèle sur lequel les autres se forment », en tout temps nos remerciements s'adressent mes chers parents d'avoir eu la bonne volonté, la patience et l'amour profonds pour que je sois scolarisé être solide pour supporter toutes les souffrances et les conditions scolaires et académiques, recevez ce travail fruit de vos efforts, encadrement et sages conseils : Voilà aujourd'hui nous sommes à la fin du cycle la résultante de vos ardents souhaits ; nous citons : notre Père NGOY KATEBA ALLUWAWA Symphorien, car, « Le père connaît les besoins de son fils. Faut-il pour cela que le fils n'ait jamais une parole de requête ou d'action de grâce pour son père ? » (LAMENNAIS) et notre Mère MBUYU MAUA

v

Sylvie, car selon le célèbre philosophe SOCRATE, « De quelles vertus serais-tu capable, si tu ne commençais pas par aimer ta mère ? ».

Nos remerciements s'adressent à vous mes frères Jacques KATEBA, Éric KATEBA, Patrick KATEBA, Deogratias KATEBA et mes soeurs Edouarde KATEBA, Sylvie KATEBA et Véronique KATEBA : que le bon Dieu puisse vous combler de grâce et de longévité.

Merci à vous tous mes oncles tant paternels que maternels, cousins et cousines qui ont contribués d'une manière ou d'une autre pour la réalisation de ce travail.

Nos remerciements à nos chers collègues de promotion de leurs participations et concours dans différents travaux d'évaluation, nous citons : Denis LENGE, NDENGANDENGA MAKENKEWE, Lambie BANZA, Gloire KAPONGO et aux autres dont leurs noms ne figurent pas ici qu'ils trouvent nos sentiments de gratitude.

Nous ne pouvons pas passer sous silence les hommes de bonne volonté pour leurs assistance et sacrifice multiforme dont on dit toujours « Les bienfaits n'ont jamais été oubliés », c'est le cas de la famille de AG Sophie KIPILI MABEMBA, des frères en Christ : Dadou, Hubert MAFUTA, Claude LUBOBO, Jean Paul MPOYO, Grâce NTUMBA, Innocent NYENGA, Lebrun KABONGO, Emile SHAKO, KYUNGU LUBATSHI ; des soeurs en Christ : Thérèse MIKOMBE, Julie ILUNGA, Mireille NUMBI, Anny MASANGU, ainsi qu'à tous les membres de l'ensemble vocal AVE MARIA.

A tous de près et de loin pour leur soutien moral, matériel et financier à notre égard qu'ils trouvent ici l'expression de notre gratitude pour les sacrifices et privation qu'ils ont endurés pour nous.

BWANGA KATEBA Charles

vi

LISTE DES ABREVIATIONS

2TUP: Two Truck Unified Process

AGL : Atelier de Génie Logiciel BDD : Base de données

CGI: Common Gateway Interface CMS: Content Management System CSS: Cascading Style Sheets

C.U: Cas d'utilisation

HTML: HyperText Markup Langage

HTTP: Hypertext Transfert Protocol

IP: Internet Protocol

MVC: Model-View-Controller

PHP: PHP Hypertext Preprocessor

RUP: Rational Unified Process

SGBD : Système de Gestion de Base de Données

SGBDR : Système de gestion de Base de Données Relationnelles

SMS: Short message System

SQL: Structured Query Language

UML: Unified Modeling Language UP: Unified Process

URL: Uniform Resource Locator W3C: World Wide Web Consortium WWW: World Wide Web

XAMPP: X Apache MySQL Perl PH XP : eXtreme Programming

vii

TABLE DES ILLUSTRATIONS

A. FIGURES ET DIAGRAMMES

Figure 1.1: WWW 14

Figure 1-2: Site web statique 16

Figure 1-3: site web dynamique 17

Figure 1-4: Serveur web 17

Figure 1-5: Les CMS 18

Figure 1-6: Les Framework web 19

Figure 1-7: Principes du Processus Unifié 21

Figure 1-8: Les phases du Processus Unifié 22

Figure 1-9: Le processus de développement en Y 24

Figure 2-1: Situation de l'étude préliminaire dans 2TUP 32

Figure 2-2: Diagramme de contexte statique du système de publication des résultats des

étudiants de l'UNIKAM 39

Figure 2-3: Situation de la capture des besoins fonctionnels dans 2TUP 40

Figure 2-4: Diagramme de cas d'utilisation pour la publication des résultats des étudiants de

l'UNIKAM 44

Figure 2-5: Diagramme de Séquence du C.U. « S'authentifier » 46

Figure 2-6: Diagramme de Séquence du C.U. « Gérer utilisateurs » 49

Figure 2-7: Diagramme de Séquence du C.U. « Gérer Secrétaires des jurys » 52

Figure 2-8: Diagramme de Séquence du C.U. « Consulter statistiques résultats » 54

Figure 2-9: Diagramme de Séquence du C.U. « Gérer paiements » 56

Figure 2-10: Diagramme de Séquence du C.U. « Publier résultats » 58

Figure 2-11: Diagramme de Séquence du C.U. « Gérer publications résultats » 60

Figure 2-12: Diagramme de Séquence du C.U. « S'inscrire » 62

Figure 2-13: Diagramme de Séquence du C.U. « Consulter résultats » 63

Figure 2-14: Diagramme de Séquence du C.U. « Introduire recours » 64

Figure 2-15: Diagramme de Séquence du C.U. « Consulter recours » 66

Figure 2-16: Diagramme de packages des cas d'utilisation 67

Figure 2-17: Diagramme de cas d'utilisation du package « gestion résultats » 68

Figure 2-18: Diagramme de classe participante du C.U. « S'authentifier » 69

Figure 2-19: Diagramme de classe participante du C.U. « Gérer utilisateurs » 69

Figure 2-20: Diagramme de classe participante du C.U. « Gérer Secrétaires des Jurys » 70

viii

Figure 2-21: Diagramme de classe participante du C.U. « Consulter statistiques résultats » . 70

Figure 2-22: Diagramme de classe participante du C.U. « Gérer paiements » 71

Figure 2-23: Diagramme de classe participante du C.U. « Publier résultats » 71

Figure 2-24: Diagramme de classe participante du C.U. « Gérer publications résultats » 72

Figure 2-25: Diagramme de classe participante du C.U. « S'inscrire » 72

Figure 2-26: Diagramme de classe participante du C.U. « Consulter résultats » 73

Figure 2-27: Diagramme de classe participante du C.U. « Introduire recours » 73

Figure 2-28: Diagramme de classe participante du C.U. « Consulter recours » 74

Figure 3-1: Premier découpage en catégories 78

Figure 3-2: Quelques associations concernant la classe Résultats 79

Figure 3-3: Illustration d'importations entre catégories 79

Figure 3-4: Diagramme de packages d'analyse 80

Figure 3-5: Diagramme de classes de conception 81

Figure 3-6: Diagramme d'interaction du C.U s'authentifier 82

Figure 3-7: Diagramme d'interaction du C.U gérer utilisateurs 83

Figure 3-8: Diagramme d'interaction du C.U gérer secrétaires des jurys 84

Figure 3-9: Diagramme d'interaction du C.U consulter statistiques résultats 85

Figure 3-10: Diagramme d'interaction du C.U Gérer paiements 86

Figure 3-11: Diagramme d'interaction du C.U Publier résultats 87

Figure 3-12: Diagramme d'interaction du C.U Gérer publications résultats 88

Figure 3-13: Diagramme d'interaction du C.U S'Inscrire 89

Figure 3-14: Diagramme d'interaction du C.U Consulter résultats 90

Figure 3-15: Diagramme d'interaction du C.U Introduire recours 91

Figure 3-16: Diagramme d'interaction du C.U Consulter recours 92

Figure 3-17: choix de style des architectures logiciels 94

Figure 3-18: Implémentation du modèle MVC 95

Figure 3-19: Diagramme de déploiement 96

Figure 4-1: Page d'accueil pour la gestion des publications des résultats des étudiants de

l'Université de Kamina 101

Figure 4-2: Pages d'authentification pour les utilisateurs 102

Figure 4-3: Pages de gestion d'utilisateurs 103

Figure 4-4: Page d'inscription 103

Figure 4-5: Pages de gestion d'affectation des secrétaires des jurys 104

ix

Figure 4-6: Pages de gestion de paiements 105

Figure 4-7: Pages de gestion des résultats 106

Figure 4-8: Page de statistiques résultats 106

Figure 4-9: Page de consultation des résultats 107

Figure 4-10: Page d'introduction d'un recours 107

Figure 4-11: Page de consultation de recours 107

B. TABLEAUX

Tableau 2-1: Inventaire des fonctions 34

Tableau 2-2: Liste des acteurs et des messages par cas d'utilisation 41

Tableau 2-3: Liste des cas d'utilisation et de leurs acteurs par package 67

Tableau 2-4: Définition des itérations par classement des cas d'utilisation 75

1

INTRODUCTION GENERALE

1. GENERALITES

En quelques siècles, l'Homme est passé du statut de spectateur impuissant à celui d'acteur sur son environnement. Le génie humain a développé au cours des siècles des sciences, des techniques et des technologies qui lui ont d'abord permis d'assurer la survie de l'espèce humaine, de comprendre l'environnement puis d'accroître toujours plus son pouvoir à le modeler. D'où l'avènement de l'ordinateur, grâce auquel il est désormais possible d'exécuter en un rien de temps, les lourdes tâches jadis difficiles si pas impossibles à réaliser.

N'empêche que l'entreprise souffre de certaines difficultés dans sa mise en oeuvre qui nécessite un énorme volume de travail (difficulté d'accéder aux résultats après publication, difficulté d'archivage des grilles de côtes et des grilles de délibération, difficulté de retrouver en un temps opportun les côtes et les résultats de l'étudiant ayant étudié dans les années antérieures, etc.) aussi la plupart exige un certain niveau de reconfiguration : ce qui représente un risque pour la stabilité du système de l'organisation de l'Université de Kamina, tout cela est due à la complexité de l'organisation de l'entreprise et au taux gigantesque d'informations.

Blogs, réseaux sociaux, pages d'accueil personnalisables... Depuis quelques années, les sites web ont gagné en fonctionnalités et sont devenus dans le même temps de plus en plus complexes. Que le temps de la "page web personnel" est loin ! Il y a une époque où l'on pouvait se contenter de créer un site basique. Un peu de texte, quelques images : hop là, notre site personnel était prêt. Aujourd'hui, c'est différent : il faut que ça bouge ! On s'attend à ce qu'un site soit régulièrement mis à jour : on veut voir des actualités sur la page d'accueil, on veut pouvoir les commenter, discuter sur des forums, bref, participer à la vie du site.

Le but, apparemment simple, de cette recherche est d'identifier l'information dont on a besoin, de savoir où on est susceptible de la trouver pour ensuite aller la chercher, le tout avec le plus d'efficacité possible. Tout cela rendra la réalisation d'un site web plus aisée, ce qui contribuera ultimement à sa démocratisation.

C'est dans cette optique que le sujet du présent travail s'intitule « Conception et implémentation d'un site web de publication des résultats des étudiants dans une institution universitaire (cas de l'UNIKAM) » car, ce afin de pousser cette institution vers l'émergence et qu'elle atteigne les objectifs qu'elle s'est assigné (construire la tradition des meilleurs).

2

2. CHOIX ET INTERETS DU SUJET 2.1.CHOIX DU SUJET

Nous tenons à faire remarquer que le choix que nous avons porté sur ce sujet n'est pas d'une complaisance quelconque, mais du fait que c'est de l'importance que nous accordons à cette institution universitaire qui doit assurer la formation des cadres de conception dans les domaines les plus divers de la vie nationale. A ce titre, elle dispense des enseignements de manière à favoriser l'éclosion des idées neuves et le développement des aptitudes professionnelles.

2.2.INTERETS DU SUJET

a) INTERET PERSONNEL

Ce travail va nous permettre des connaissances pratiques, tout d'abord dans le développement d'un site web dynamique ainsi que les outils adaptés pour le déployer sur le serveur, comment effectuer son hébergement, comment le gérer (du webmastering) sur le cas réel ; et avoir la maitrise dans les processus de délibération des étudiants et de publication des résultats des étudiants dans une Université.

b) INTERET SOCIAL

L'implémentation d'un site web pour la publication des résultats des étudiants de l'Université de Kamina va permettre à cette dernière la gestion de ses étudiants (du côté conflit après publication ( parlant de l'erreur faite) et le problème dû à la publication des résultats) afin d'améliorer la qualité du service rendu (par jury) et limiter les erreurs irréprochables, ainsi qu'à toute personne (l'internaute) voulant s'informer sur les résultats de son enfant soit de son ami ou de soi-même de pouvoir avoir l'accès aux informations recherchées et cela en temps réel et utile.

e) INTERET SCIENTIFIQUE

En tant que concepteur des systèmes d'information, notre apport dans le monde scientifique et plus particulièrement dans le monde informatique au besoin, est de perfectionner le modèle pour une utilisation efficace dans toutes les organisations en besoin, compléter d'autres recherches faites sur ce sujet et cela de par nos suggestions qui constitueront un apport pour augmenter les performances de la gestion car la conception d'un site web n'est pas un rêve nocturne qui peut se concrétiser en un clin d'oeil, mais c'est plutôt un projet qui pour le réaliser, il est vraiment nécessaire de suivre les étapes qu'impose une méthode de modélisation.

1 Patrick IZATINA MBALA, « Conception d'une application web pour la publication des résultats académiques dans un portail documentaire. » TFE Inédit, Département de Télécommunications, ISTA/Kinshasa, 2014-2015.

3

3. ETAT DE LA QUESTION

Cette étape, appelée autrement « Revue de la littérature ». Il est important et nécessaire de consulter ceux qui ont déjà émis leurs idées sur le plateau scientifique dans le but de prendre les idées émises, d'éviter quelques erreurs, d'y passer ou de négliger les avances utiles. A cet effet, les travaux précédant serviront de garde-fou à notre étude.

Sur ce, nous avons pu lire ou consulter les prédécesseurs ci-après :

? Patrick IZATINA MBALA, dans son travail de fin d'études intitulé « Conception d'une application web pour la publication des résultats académiques dans un portail documentaire. » (Cas de l'Institut Supérieur de Techniques Appliquées (ISTA) de Kinshasa), Année académique 2014-2015.1

Sa problématique était celle de dire : Souvent, les étudiants sont ignorants de la date exacte de la délibération. Ce qui leur cause préjudice aux recours étant donné qu'il y a un temps prédéfini pour le dépôt des recours : la connaissance des échecs ou de manque des côtes et les modifications intempestives.

Pour répondre aux problèmes de gestion cités ci-haut, Il a proposé comme hypothèse en disant que : nous pensons que l'implémentation d'un portail documentaire pour la consultation des résultats académiques par internet avec notification SMS au sein de son site web, pourra faire bénéficier au personnel oeuvrant dans l'administration d'envoyer les côtes des étudiants dans la base de données sans qu'il y ait modification. L'implémentation de ce portail documentaire permettra aussi aux étudiants en temps réel après délibération, grâce à une notification SMS de savoir que la délibération a eu lieu et peut voir son carnet de côte par internet quel que soit l'endroit où il se trouve.

Il a utilisé la méthode analytique et la méthode structuro-fonctionnelle comme démarche dans son travail.

En fonction des besoins réels de l'Institut Supérieur de Techniques Appliquées, différents arguments plaident en faveur d'un portail documentaire et sécurisé pour la délibération, raison pour laquelle la solution est d'implémenter cette technologie au sein du site web de l'ISTA et cela en utilisant le PHP et SGBD MySQL.

4

? Bienvenu WILONDJA KAKONDJA « Mise en place d'un modèle d'application web pour la publication des résultats académiques dans les institutions d'enseignement supérieur via la téléphonie cellulaire » (Cas de l'ISP/Bukavu), Année académique 2017-2018.2

L'auteur a souligné la problématique en disant : Dans le système actuel de publication des résultats académiques des étudiants à l'Institut Supérieur Pédagogique (ISP) de Bukavu nous constatons encore plusieurs failles comme quoi, pour qu'un étudiant puisse voir ses résultats, il doit faire un déplacement et venir jusqu'aux valves où les résultats sont affichés pour consultation. Cela prouve l'insuffisance dans ce système ainsi que dans certaines autres institutions d'enseignements supérieurs et universitaires de la place comme par exemple l'Université Officielle de Bukavu (UOB), l'Institut Supérieur de Développement Rural (ISDR), l'Université Libre de Grand Lac (ULGL), et bien d'autres. Cette manière de procéder est considérée comme manuelle et archaïque compte tenu de l'avancée technologie. Restant toujours dans le même contexte, nous remarquons aussi les retards de diffusions des résultats aux étudiant(e)s par les jurys, et même si ces résultats sont diffusés, problème encore aux certains étudiant(e)s d'y accéder facilement vu les encombrements qui se présente pendant cette période aux valves. Et tout cela c'est par manque d'un mécanisme pouvant faciliter la tâche aux jurys et aux étudiant(e)s. Le problème se remarque aussi aux étudiant(e)s vivant en dehors de la ville où, une fois en attente des résultats académiques à leurs domiciles, ils doivent appelés chaque fois leurs collègues, parfois même ils(elles) sont obligés de payer encore le transport jusqu'à l'institution en place pour s'informer de l'évolution ou du processus de publication des résultats. Parfois aussi le problème ou la manque de connexion du réseau Internet dans leurs milieux.

De ceux qui précèdent, il a proposé comme hypothèse : La technologie web intégrant ce modèle ou le système de télécommunication faciliterait la publication des résultats académique par les secrétaires des jurys aux étudiants (es) à travers les numéros des téléphones des étudiants ; et la réception de ces résultats parviendrait à ces derniers sans aucun déplacement et cela en temps réel.

Il s'est servi du processus UP (Unified Processus ou processus unifié) qui est une méthodologie Informatique de développement ainsi que du modèle UML (Unified Modeling Language).

2 Bienvenu WILONDJA KAKONDJA « Mise en place d'un modèle d'application web pour la publication des résultats académiques dans les institutions d'enseignement supérieur via la téléphonie cellulaire », TFE Inédit, Département d'Informatique de Gestion, ISP/Bukavu, 2017-2018.

5

? KALENGA LUBANGE Cédric « Développement d'une application web pour la publication des résultats dans une institution universitaire » (Cas de l'UNIKAM), Année académique 2019-2020. 3

Il a donné les problématiques lors de la publication à UNIKAM comme suites : les différents jurys sont butés à des difficultés du genre ils mettent toujours beaucoup de temps pour la publication des résultats des étudiants au quel l'effectif de ceux-ci est élevé. Avec la publication se faisant à travers la voix médiatique, cela oblige que les étudiants soient dans un espace non éloigné géographiquement pour ne pas manquer leurs côtes. Avec des moments de turbulences qu'a traversé la province du Haut-Lomami, avec des interruptions du courant électrique, où aucune d'entre les maisons de presse n'a pu émettre, l'UNIKAM s'est retrouvée dans l'obligation d'afficher les résultats à travers les fenêtres de différents décanats. Dans le cas où ceci n'a pas été le cas, l'un des nombres du jury devait se tenir au balcon de l'institution pour les publier et alors que les concernés devaient être en bas pour écoutes chacun sa suite.

Il a proposé comme hypothèses permettant de remédier à cette situation, de mettre en place une application web qui devra permettre aux étudiants de consulter leurs résultats de façon distante.

De notre part, nous allons rendre accessible la consultation et la recherche des résultats et faire l'Université de Kamina au grand public du monde estudiantin, et la publication se fera tout en commençant par des messages d'alertes dans le compte Gmail de chaque étudiant, notre institution universitaire sera épargnée de difficultés constatées pendant l'affichage des résultats académiques au valve.

3 KALENGA LUBANGE Cédric « Développement d'une application web pour la publication des résultats dans une institution universitaire » (Cas de l'UNIKAM), Mémoire Inédit, Département de Conception des Systèmes d'Information, Université de Kamina, 2019-2020.

6

4. PROBLEMATIQUE

La question de recherche est une préoccupation scientifique qu'un chercheur souline à propos de l'objet de sa recherche. En d'autres termes, questionner ou problématiser revient à mettre ensemble tous les problèmes qui doivent être éclairés au cours d'une étude scientifique.

Selon le professeur LUMBILA NGOIE Robert « la problématique est une approche ou une perspective théorique que l'on décide d'adopter pour traiter le problème posé par question de départ ».4

Voici quelques problèmes de gestion qui ont fait à ce que notre thème soit abordé à l'Université de Kamina :

4 Tout avait commencé par la publication des résultats au balcon soit au décanat, puis elle s'est faite par diffusion à la radio RCK, puis la radio RTU (presse de ladite institution) : mais tout cela ne parvenait pas toujours à rendre accessible les résultats des étudiants car il faudrait toujours être situé géographiquement à une distance non loin de ces maisons de média ;

4 Lors de la période de publication des résultats, les étudiants sont sensés attendre au sein de l'Université jusqu'à ce qu'ils aient leurs résultats, quel que soit l'heure ou le nombre de rendez-vous ratés ;

4 Parfois le décanat oblige à un étudiant qui n'a pas eu plus de précision sur ses résultats (en termes de points obtenus et pourcentage) après publication des résultats l'achat de relevé de côtes, tant que le jury lors de la publication des résultats n'a jamais cité le pourcentage et les points obtenus de l'étudiant (à part la mention) ;

4 En 2019, lors de la publication des résultats de la première session, le secrétariat général académique avait exigé de faire la publication par SMS (Short message System c.à.d. Court Message Textuel), mais cela n'a pas tenu : beaucoup d'étudiants ayant été en ordre n'avaient pas reçu de SMS ; pour ce faire il fallait passer par l'introduction du recours afin d'être délibéré et avoir ses résultats ;

4 Parfois l'étudiant parvient à échouer suite au malentendu entre le jury et l'enseignant c.à.d. souvent quand l'étudiant introduit le recours dans un cours, le jury envoi la

4 Prof. MWEMBO LUMBILA NGOIE Robert, Pour une pratique de la science, Prolégomènes à l'initiation à la recherche scientifique, Ed. Les moissonneurs, Lubumbashi, 2013, p.48.

7

victime auprès de l'enseignant : arriver chez l'enseignant, ce dernier la retourne soi-disant que vous avez réussi dans mon cours. C'est pour cela qu'il y a fluidité.

Pour pallier à tous ces problèmes de gestion, voici la question à laquelle nous allons tenter de répondre aux lignes du point suivant : « Quelle solution pouvons-nous implémenter afin rendre accessible et d'améliorer la gestion de publication des résultats des étudiants à l'UNIKAM dans la clarté pourvu d'éviter tout désagrément dans ce processus ? »

5. HYPOTHESE

L'hypothèse se définit comme étant une idée directrice, destinée à guider l'investigateur à être abandonné ou maintenue après les résultats de l'observation5.

Selon P. Rongere, l'hypothèse est une proposition de solutions aux questions que l'on se pose à propos de la recherche formulée en des termes tels que l'observation et l'analyse6. Quant à la question susmentionnée, il convient de souligner : y Rendre accessible la consultation et la recherche des résultats des étudiants et faire l'Université de Kamina au grand public du monde estudiantin, et la publication se tout en commençant par des messages d'alertes dans le compte Gmail de chaque étudiant ; y Que le jury disponibilise une seule grille Excel avec toutes les formules bien apprêtées, Que cette seule grille soit accessible à tous les enseignants concernés ; y Que chaque enseignant n'ait droit d'écriture que sur la colonne qui concerne le cours dont il est titulaire ;

y Plusieurs enseignants peuvent travailler simultanément sur la même grille tout en n'étant pas physiquement au même endroit. Dès que la dernière cote est saisie, le jury n'aura qu'à télécharger la grille et cela par la proposition du service de synchronisation de Google Drive ;

De ce fait, l'implémentation d'un site de publication des résultats des étudiants doit pouvoir répondre aux problèmes de processus de délibération des étudiants et celui de publication des résultats.

5 PINTO & GRAWITZ, Méthodes des Sciences Sociales, Ed. Eyrolles Paris, 1972, p.828.

6 Pierrette Rongere, Manuel de sociologie générale, Ed. Africa, Lubumbashi, 1999, p.21.

8

6. METHODE ET TECHNIQUES

6.1.METHODE

En vue d'appréhender concrètement notre objet d'étude, il nous est nécessaire de recourir à une méthode de recherche.

La méthode désigne un ensemble des opérations intellectuelles par les quelles une discipline cherche à atteindre les vérités qu'elle poursuit, les démontres et les vérifies7.

René Descartes défini aussi une méthode comme une marche rationnelle de l'esprit pour arriver à la vérité dans la science.8

La méthode d'informatisation en informatique de gestion9 :

- Définit un processus d'informatisation du Système d'Information (totalement ou partiellement i.e. pour tout ou partie du cycle de vie du logiciel) ;

- Possède une portée (champ d'étude i.e. domaine d'étude) ;

- Décrit une démarche i.e. un ensemble des travaux en les ordonnant (succession d'étapes).

Pour ce qui est de la méthodologie, nous avons opté pour le processus 2TUP (qui signifie Two Truck Unified Process), appelée autrement processus en Y.

Le processus 2TUP apporte une réponse aux contraintes de changement continuel imposées aux systèmes d'information de l'entreprise. En ce sens, il renforce le contrôle sur les capacités d'évolution et de correction de tels systèmes. « 2Track » signifie littéralement que le processus suit deux chemins. Il s'agit des chemins « fonctionnels » et « d'architecture technique », qui correspondent aux deux axes de changement imposés au système informatique10.

En outre, nous allons utiliser le langage UML « Unified Modeling Language » lors de la phase de conception de solution que nous aurons à proposer, et cela en utilisant ses diagrammes.

7 PINTO & GRAWITZ, Ibidem.

8 René Descartes, Discours de la méthode, Ed. J-VAZI, Paris, 1988, p.11.

9 M.NEMICHE, Cours d'Analyse et Conception des Systèmes d'Information, Inédit 2009-2010, p.78.

10 Pascal Roques et Franck Vallée, UML 2 en action, De l'analyse des besoins à la conception, Ed. Eyrolles, Paris, 2007, p.13.

9

6.2.TECHNIQUES

La technique est un ensemble des lignes directrices qui aident l'analyste à réaliser une activité ou une tâche de développement du système11.

Une technique est un ensemble d'outils mis à la disposition du et organisés par la méthode utilisée pour collecter des données et est limitée en nombre et est commune à la plupart des sciences12.

Voici quelques techniques que nous avons utilisées dans ce travail :

a) TECHNIQUE DOCUMENTAIRE

C'est grâce à cette technique que nous avons réalisé la recherche de revue de la littérature ayant trait à notre travail. Elle nous a permis d'être en possession des quelques ouvrages, journaux, notes de cours, revues etc... pour habiller notre travail en s'appuyant sur les arguments de valeur.

b) TECHNIQUE D'OBSERVATION

Cette technique nous a permis d'observer les réalités en rapport avec notre sujet et en effectuant la collecte des faits d'un phénomène dans leur déroulement naturel directement, sans intermédiaire humain (cf. le jury), en notant les résultats de l'observation, sur le champ ou immédiatement après, sur des fichiers.

e) TECHNIQUE D'INTERVIEW

Elle est une technique qui a pour but d'organiser un rapport de communication verbale entre deux personnes (l'enquêteur et l'enquêté) afin de permettre à l'enquêteur de recueillir certaines informations de l'enquête concernant un objet précis13.

L'interview nous a permis de poser certaines questions aux personnes concernées possédant les informations concernant notre étude (auprès du secrétaire académique de la faculté des sciences informatiques), l'entretien et la prise de connaissance par l'échange de dialogue avec les utilisateurs du système étudie ont été aussi nécessaire.

11 Ferréol Gilles, La Dissertation Sociologique, Ed. ARMAND COLIN, Paris, 2000, P.192.

12 PINTO & GRAWITZ, op.cit., p.261.

13 Albert Bruno, Les méthodes de sciences sociales, Ed. Mont Chrétien, Paris, 1972, p.207.

10

7. DELIMITATION DU SUJET

Etant donné que toute recherche scientifique doit répondre aux critères de délimitation quoiqu'elle soit pertinente, précise et concise. Cette délimitation nous permet de spécifier notre travail enfin d'avoir une précision et une clarté scientifique, de ne pas être dans une généralité des choses ; nous avons délimité notre travail dans le temps et dans l'espace.

Comme tout projet qui doit avoir une durée de vie, notre petit projet (on le qualifie ainsi car il est réalisé par une seule personne), s'étend de Mars en Septembre 2021 ; et son investigation est à l'Université de Kamina : précisément à la faculté des sciences informatiques. L'étude ne se limite que dans la conception et l'implémentation d'un site web pour gérer la publication des résultats des étudiants de l'UNIKAM, la création du forum pour les étudiants, la délibération en ligne, l'introduction du recours, gestion des paiements.

8. SUBDIVISION DU TRAVAIL

Notre travail sera subdivisé en quatre chapitres qui ont été précédé d'une introduction générale et qui seront clôturé d'une conclusion. Les quatre chapitres sont :

? Le Premier chapitre se nomme « Définition des concepts et considération théorique » ; ce chapitre traite sur les différentes définitions des concepts ou mots clés constituant notre thème, et quelques concepts liés à notre méthodologie et avec son langage, et, ce afin de pouvoir mieux comprendre ce qui se dit dans notre travail.

? Le Deuxième chapitre est « Etude préliminaire et capture des besoins fonctionnels » à ce niveau : Pour l'Etude Préliminaire, nous allons présenter le projet, recueillir les besoins fonctionnels, faire le choix technique, identifier les acteurs, identifier les messages enfin faire la modélisation du contexte. Pour la Capture des besoins fonctionnels, nous allons déterminer les cas d'utilisation, faire la description préliminaire des cas d'utilisation, faire la description détaillée des cas d'utilisation, faire la structuration des cas d'utilisation dans des packages, enfin identifier les classes candidates.

? Le Troisième chapitre s'intitule « Analyse et Conception du système informatique ». Lors de l'analyse, nous allons faire le Découpage en catégories, la Dépendance entre catégories, le Diagramme du package d'analyse, le Développement du modèle statique, enfin le Développement du modèle dynamique. A la conception, nous allons faire l'Architecture de l'application et la Construction de la base de données relationnelle.

11

? Le quatrième chapitre s'appelle « Implémentation » ; cette étape portera sur le développement du site web pouvant permettre aux attentes des personnels enseignants et membres du jury d'effectuer leurs taches, et aux étudiants d'être à jour avec leurs résultats.

12

CHAPITRE PREMIER : DEFINITION DES CONCEPTS ET
CONSIDERATION THEORIQUE

I.1. INTRODUCTION

Aucun travail scientifique ne peut dépasser ce cadre conceptuel, car : la science évolue, les langues aussi. La définition des concepts facilite la mise en lumière, de la précision des énoncés contenus dans le sujet. Les mots sont polysémiques, ceci veut dire qu'un même terme peut avoir plusieurs significations selon le contexte où il est placé, selon les auteurs, selon les objectifs poursuivis et selon les domaines. C'est pourquoi, pour éviter toute confusion, toute mauvaise interprétation nous définissons ci-dessous les concepts clés de notre sujet tels que nous les entendons dans le présent travail.

Pour les considérations théoriques, nous allons voir comment débuter le déroulement d'un projet avec le processus 2TUP, et en se basant sur son formalisme et ses principes.

I.2. DEFINITION DES CONCEPTS

I.2.1. Les concepts clés

Notre sujet est constitué de sept (7) mots clés, qui sont : conception de site web, implémentation de site web, site web, publication des résultats, résultat, étudiant, institution universitaire.

? Conception d'un site web

La conception de site web ou web design est la conception de l'interface web : l'architecture interactionnelle, l'organisation des pages, l'arborescence et la navigation dans un site web14. La conception d'un design web tient compte des contraintes spécifiques du support Internet, notamment en termes d'ergonomie, d'utilisabilité et d'accessibilité. La conception (design en anglais c'est la détermination du comment d'une application (par opposition à l'analyse qui spécifie le quoi). La conception permet d'étendre la représentation des diagrammes effectuée au niveau de l'analyse en y intégrant les aspects techniques plus proches des préoccupations physiques.

14 https://fr.m.wikipedia.org/wiki/Conception de site web consulté le 20/03/2021 à 13 : 54.

13

V Implémentation d'un site web

Autrement appelée la phase de réalisation, c'est la création des pages web (mise en place du contenu, des photos) et la conformité aux standards du web (W3C), intégration de la charte graphique.15

V Site web

Un site web est un ensemble de pages web hyper liées entre elles et accessibles à une adresse web. On dit aussi site internet par métonymie, le world wide web reposant sur internet16. Nous allons entrer en profondeur sur ce concept au point suivant (définition des concepts de la technologie du web).

V Publication des résultats

La publication est l'action de publier, de rendre publique. Publier est la façon de faire connaitre au public, rendre public par la parole, par des écrits ; annoncer, déclarer publiquement. La publication des résultats des étudiants est le processus de rendre accessible ou de mettre à la portée de ces derniers ses résultats.

V Résultat

Les résultats d'apprentissage se définissent comme une description des compétences, des aptitudes ou des habiletés que les étudiants détiennent à la fin du programme.17

V Etudiant

Le mot étudiant est comme étant une personne qui fait des études supérieures et suit les cours d'une université, d'une grande école.18

V Institution universitaire

Communément appelée Université, est une institution d'enseignements supérieurs, d'études et de recherches, constituée par la réunion de divers établissements nommés suivant les traditions "collèges" ou " facultés", "instituts", "départements", "centres", "sections", "unités" ou écoles spécifiques, mais aussi une bibliothèque ou atelier, médiathèque ou musée... formant un

15 Thierry Dubois, Tout pour réussir son site web, Tome2, Edition 2011, Paris, p34.

16 http://www.initiationreseau.com consulté le 20/03/2021 à 13:43.

17 https://saea.uottawa.ca/site/resultats-d-apprentissage-des-programmes consulté le 20/03/2021 à 14:03.

18 https://dictionnaire.lerobert.com/definition/etudiant consulté le 20/03/2021 à 14:10.

19 https://fr.m.wikipedia.org/wiki/Universit%C3%A9 consulté le 20/03/2021 à 14:30.

20 Bruno Pouliquen, Cours de HTML, Université de Renne1, Inédit, Rennes, p.2

14

ensemble administratif cohérant avec un statut de droit défini, public, privé ou éventuellement mixte.19

I.2.2. Les concepts de la technologie du Web

Voici quelques concepts dont nous allons définir en clair pour partager le même langage lors du développement de site (en guise de la meilleure compréhension du développement d'un site web) : web, URL, protocole, page web, application web, site web, serveur Web, Client web, CMS, CGI, Framework, hébergeur, Ports d'Ecoute et protocoles.

Web, URL et Protocole

Le berceau du Web se situe au CERN (Organisation Européenne pour la Recherche Nucléaire). C'est au sein de cette organisation que le Web fut inventé en 1989 par une équipe de chercheurs notamment sous l'impulsion de Tim Berners-Lee et son collaborateur Robert Cailliau, ainsi que d'autres chercheurs ayant à leur manière collaborée au projet initialement baptisé World Wide Web. À l'origine le projet World Wide Web fut conçu et développé "en combinant trois technologies qui sont les éléments de base du Web, c'est-à-dire, l'adressage web par URL qui indique la localisation de la ressource sur l'internet, le protocole de transfert HTTP qui indique la méthode d'accès, et le Hypertexte Markup langage HTML qui permet de structurer des ressources" afin que les personnes travaillant dans les universités et les instituts du monde entier puissent librement échanger des documents et partager les informations utiles à leurs activités, tissant ainsi la première toile (en anglais : Web) sur le Net.

Le WWW Permet d'accéder à une masse gigantesque d'informations distantes ; Chaque individu peut y mettre les informations qu'il désire ; Le succès du Web : accès ergonomique et facile à une masse de données colossale et variée20.

Figure 1.1 : WWW

15

Page web

La page web désigne l'unité élémentaire d'un site web, lui-même constitué d'un nombre plus ou moins important de pages web. Pour les internautes, la page web est accessible via un navigateur web (par exemple Firefox, Mozilla, Safari, etc.).

Sur le plan technique, la page web se résume la plupart de temps à un fichier HTML et un ensemble d'autres ressources indépendantes du World Wide Web comme des images, des vidéos, des sons, des animations, etc.21

Application web

En informatique, une application web est une application manipulable grâce à un navigateur web. De la même manière que les sites, une application web est généralement placée sur un serveur et se manipule en actionnant des widgets à l'aide d'un navigateur web, via un réseau informatique22.

Site web

? Catégories de site web :

On distingue habituellement plusieurs catégories de sites web, selon le but poursuivi :

? Site carte de visite : appelé également site vitrine ou site plaquette : il présente une information institutionnelle (produits ou services d'une entreprise).

? Site événementiel : il est dédié à la sortie d'un produit, à un jeu concours, à un événement (coupe de monde de rugby, salon professionnel, ...). Il est consacré exclusivement à ce sujet. Il ne comporte pas d'élément institutionnel ou catalogue, ou alors seulement en rappel ou propose un lien vers un autre site. Il appartient à la catégorie des sites dédiés, dans lequel trouver également les sites produits dédiés à un seul produit ou à une gamme.

? Site de contenu : il n'est pas forcément marchand. Il présente un volume de contenu plus ou moins important qu'il convient. Il demande souvent des développements spécifiques pour présenter, lier, gérer cette information.

? Site de communication : il est dédié aux outils de communication et d'échanges avec l'internaute et utilise des fonctionnalités telles que newsletter, forum, blog.

21 https://www.journaldunet.fr/web-techn/dictionnaire-du-webmastering/1203265-page-web-definition/ consulté le 24/03/2021 à 12:05.

22 http://fr.wikipedia.org/wiki/application-web consulté le 24/03/2021 à 12:20.

16

+ Site catalogue : il propose le catalogue de l'entreprise en ligne. Il peut s'agir de la consultation du catalogue « papier » avec pages qui se tournent par exemple ou d'une construction similaire à un site marchand sans paiement en ligne.

+ Site marchand ou site boutique : il consiste en un site catalogue avec une ou des solutions de commande et de paiement en ligne : paiement bancaire sécurisé, papal, chèque, virement.

+ Site de type intranet ou extranet avec accès privé (identifiant, mot de passe) : il peut être simple et présenter une liste de tarifs ou très complexes avec des accès réservés par catégories de collaborateurs (ou de clients ou de revendeurs), de multiples fonctionnalités et développements spécifiques pour calculer des commissions sur vente, établir des notes de frais, etc.

+ Site « sur mesure » : il peut reprendre des éléments de chaque type. Il désigne le site qui demande des développements informatiques spécifiques sur-mesure, adaptés de modules existants ou crées de toute pièce.

+ Site de e-Learning : il présente des modules d'information ou de formation, des tutoriaux ou des animations de formation accessibles à distance. L'interactivité avec l'apprenant est plus ou moins développée. Il est doté ou non d'un extranet à destination des formateurs (par exemple).

+ Site d'animation ou de jeux : il est parfois lié au site événementiel. Trouver des jeux en ligne simples ou très sophistiqués par exemple.

+ Site en Flash : il désigne en réalité d'avantage une technologie qu'un type de site. En effet, chacun des types de sites décrits ci-dessus peut être réalisé en Flash. Pour certains les inconvénients pourront être nombreux (site marchand), pour d'autres, l'utilisation de cette technologie se justifiera complètement (site de jeux).

Il existe deux types de sites web :

· Les sites statiques : leur contenu ne peut pas être mis à jour automatiquement. Ce sont des sites réalisés uniquement à l'aide des langages HTML et CSS.

 
 

Figure 1-2 Site web statique

 
 

17

· Les sites dynamiques : Le contenu de ces sites web est dit « dynamique » parce qu'il peut changer. Plus complexes, ils utilisent d'autres langages en plus de HTML et CSS, tels que PHP et MySQL23.

Lorsque le site est dynamique : Le client demande au serveur à voir une page web ; Le serveur

prépare la page spécialement pour le client ; Le serveur lui envoie la page qu'il vient de générer.

Figure 1-3 site web dynamique

Serveur Web

Un serveur est un ordinateur ou un dispositif connecté en permanence à Internet dont le rôle est de servir, comme son nom l'indique, de données à celui qui en demande. Il peut toutefois être aussi déployé en local. Ce demandeur peut être un autre serveur ou l'ordinateur d'un utilisateur final. Les données servies peuvent être de toute nature : sons, images, vidéos, textes, résultats mathématiques. Un serveur est localisé sur Internet par son adresse IP.24

Serveur

www.unikam.org

Serveur
www.autre.com

Serveur web ( Apache )

Routeur

Internet

Réseau ethernet

Mac

PC

Client web ( netscape )

Figure 1-4: Serveur web

23 www.coursgratuit.com/cours/php/php-4 consulté le 23/03/2021 à 13:11.

24 Jean François PILLOU et Fabrice LEMANIQUE, Tout sur les réseaux et internet, éd. Dunod, Paris, 2012-2015, p.20.

18

Client web

Dans un réseau informatique, un client est le logiciel qui envoie les demandes à un serveur. Il peut s'agir d'un logiciel manipulé par une personne, ou d'un robot. Est appelé aussi client, l'ordinateur depuis lequel les demandes sont envoyées vers un serveur. Dans le web, il s'agit d'un navigateur (par exemple Mozilla, Firefox, Internet Explorer, Opera Mini, Safari, ...).

Système de Gestion de Contenu

On appelle Content Management System, ou en abrégé CMS, un Système de Gestion de Contenu. Le principe consiste à séparer le code, le design et le contenu (appel de la base de données). Le plus souvent, les CMS (comme Joomla, Typo3...) utilisent une base de données MySQL, et le PHP (accepté par la plupart des hébergeurs) pour intégrer la base de données. Cela permet donc d'éditer et de gérer un site vraiment complet et dynamique (gestion de membres, d'articles, de téléchargements, de sondages, de liens, de forums...).25

 
 

Figure 1-5: Les CMS

Common Gateway Interface

 

On appelle Common Gateway Interface, ou en abrégé CGI, une interface, utilisée par les serveurs HTTP, qui permet de générer la réponse du serveur par un programme, qui s'exécute sur le serveur. Le programme pourra, assez typiquement, générer du code HTML qui sera affiché par un navigateur côté client. L'interface CGI est indépendante du langage de programmation utilisée par le serveur, et n'utilise que les flux standards et les variables d'environnement.26

Framework

Un Framework est un ensemble d'outils qui simplifie le travail d'un développeur. Traduit littéralement de l'anglais, un Framework est un « cadre de travail ». Il apporte les bases communes à la majorité des programmes ou des sites web. Celles-ci étant souvent identiques (le fonctionnement d'un espace membres est commun à une très grande majorité de sites web de nos jours), un développeur peut les réutiliser simplement et se concentrer sur les

25 Thierry Dubois, op.cit., p15.

26 Rémy Malgouyres, Programmation Web en PHP, Conception, Architectures et Développement de Web Services, département info, Université Clermont Auvergne, inédit, p.7.

19

particularités de son projet. Il s'agit donc d'un ensemble de bibliothèques coordonnées, qui permettent à un développeur d'éviter de réécrire plusieurs fois une même fonctionnalité, et donc d'éviter de réinventer constamment la roue.27

L'objectif premier d'un Framework est d'améliorer la productivité des développeurs qui l'utilisent. Souvent organisé en différents composants, un Framework offre la possibilité au développeur final d'utiliser tel ou tel composant pour lui faciliter le développement, et lui permet ainsi de se concentrer sur le plus important.28 Voici quelques-uns : Bootstrap, Bulma, Django, Symphony, Zend, Laravel, Phalcon, CakePHP, Yii, slim, etc.

Figure 1-6: Les Framework web

Hébergeur web

Un hébergeur web (ou hébergeur internet) est une entité ayant pour vocation de mettre à la disposition des internautes des sites web conçus et gérés par des tiers. Il donne ainsi accès à tous les internautes au contenu déposé dans leurs comptes par les webmestres souvent via un logiciel FTP ou un gestionnaire de fichiers. Pour cela, il maintient des ordinateurs allumés et connectés 24 heures sur 24 à Internet (des serveurs web par exemple) par une connexion à très haut débit (plusieurs centaines de Mb/s), sur lesquels sont installés des logiciels : serveur HTTP (souvent Apache), serveur de messagerie, de base de données. Ex : OverH, HostGator, ...

Ports d'Ecoute et protocoles

Le client et le service utilisent un langage spécial pour dialoguer entre eux, ce langage spécial est appelé Protocole. De plus, les ordinateurs échangent entre eux grâce à leurs adresses IP. Mais comme il peut y avoir plusieurs services sur un même serveur : C'est ici qu'entre en jeu une nouvelle notion : les Ports (canal de communication, souvent numéro. Ex : FTP : 80). Le protocole est un langage spécifique à un type de service ; il permet le dialogue entre le logiciel client et le logiciel serveur.29

27Ssx'z et MATHX, Développez votre site web avec le framework Django, inédit, 12 août 2019, p.9.

28Alexandre Bacco, Développez votre site web avec le framework Symfony2, Ed. Dassault Systems, Paris 2013, p.9.

29 Bertin LOBO MINGA, Cours de QSCSI, L2CSI, UNIKAM, inédit, 2020-2021, p.8.

20

I.3. CONSIDERATIONS THEORIQUES ET METHODOLOGIQUES

I.3.1. PROCESSUS DE DEVELOPPEMENT LOGICIEL

Un processus définit une séquence d'étapes, en partie ordonnées, qui concourent à l'obtention d'un système logiciel ou à l'évolution d'un système existant.

L'objet d'un processus de développement (de l'Anglais Software Process) est de produire des logiciels de qualité qui répondent aux besoins de leurs utilisateurs dans des temps et des coûts prévisibles. En conséquence, le processus peut se décomposer suivant deux axes de contrôle sur le développement :

? L'axe de développement technique, qui se concentre principalement sur la qualité de la production ;

? L'axe de gestion du développement, qui permet la mesure et la prévision des coûts et des délais.30

Ce qu'il faut aimer pour modéliser :

- Être à l'écoute du monde extérieur,

- Dialoguer et donc communiquer avec les gens (qui utiliseront le système informatique), - Observer et expérimenter : une conception n'est jamais bonne du premier coup,

- Travailler sans filet : créer quelque chose avec très peu de recettes toutes prêtes,

- L'abstraction : une carte routière est un modèle du territoire ; ce n'est pas le territoire

lui-même,

- Le travail à plusieurs : contribuer à l'intérieur d'un projet collectif - aller au résultat : en
plus il faut que ça marche !31

A) PRESENTATION DU PROCESSUS UNIFIE (UP)

Un processus unifié est un processus de développement logiciel construit sur UML ; il est itératif et incrémental, centré sur l'architecture, conduit par les cas d'utilisation et piloté par les risques.

Ses activités de développement sont définies par 6 disciplines fondamentales qui décrivent la modélisation métier, la capture des besoins, l'analyse et la conception, l'implémentation, le test et le déploiement.

30 Pascal Roques et Franck vallée, UML 2 en action de l'analyse des besoins à la conception, 4e édition, Eyrolles, Paris, février 2007, p.12 ;

31 Michel EBOUEYA, Analyse et Conception des Systèmes d'Information, Cours Inédit, Université de la Rochelle, Département de Systèmes d'Information, Douala, 2008, p.4.

21

a. Les principes du Processus Unifié (UP)

· Itératif et incrémental : le projet est découpé en itérations de courte durée (environ 1 mois) qui aident à mieux suivre l'avancement global. À la fin de chaque itération, une partie exécutable du système final est produite, de façon incrémentale.

· Centré sur l'architecture : tout système complexe doit être décomposé en parties modulaires afin de garantir une maintenance et une évolution facilitées. Cette architecture (fonctionnelle, logique, matérielle, etc.) doit être modélisée en UML et pas seulement documentée en texte.

· Piloté par les risques : les risques majeurs du projet doivent être identifiés au plus tôt, mais surtout levés le plus rapidement possible. Les mesures à prendre dans ce cadre déterminent l'ordre des itérations.

· Conduit par les cas d'utilisation : le projet est mené en tenant compte des besoins et des exigences des utilisateurs. Les cas d'utilisation du futur système sont identifiés, décrits avec précision et priorisés.32

Figure 1-7: Principes du Processus Unifié

b. Les phases du Processus Unifié (UP)

La gestion d'un tel processus est organisée d'après les 4 phases suivantes : préétude (ou Inception ou initialisation), élaboration, construction et transition.

La phase d'initialisation conduit à définir la « vision » du projet, sa portée, sa faisabilité, son business case, afin de pouvoir décider au mieux de sa poursuite ou de son arrêt.

La phase d'élaboration poursuit trois objectifs principaux en parallèle :

· Identifier et décrire la majeure partie des besoins des utilisateurs,

· Construire l'architecture de base du système,

· Lever les risques majeurs du projet.

32 Pascal Roques, Les Cahiers du programmeurs UML2 modéliser une application web, 4e Edition, Eyrolles, Paris, 2007, p.9.

22

La phase de construction consiste surtout à concevoir et implémenter l'ensemble des éléments opérationnels (autres que ceux de l'architecture de base). C'est la phase la plus consommatrice en ressources et en effort.

Enfin, la phase de transition permet de faire passer le système informatique des mains des développeurs à celles des utilisateurs finaux.

Figure 1-8: Les phases du Processus Unifié

B) LES METHODES AGILES

Les méthodes de développement dites « méthodes agiles » (en anglais Agile Modeling, noté AG) visent à réduire le cycle de vie du logiciel en développant une version minimale, puis en intégrant les fonctionnalités par un processus itératif basé sur une écoute client et des tests tout au long du cycle de développement.

Les méthodes agiles prônent quatre valeurs fondamentales (entre parenthèse, les citations du manifeste) :

· L'équipe (« Personnes et interaction plutôt que processus et outils »).

· L'application (« Logiciel fonctionnel plutôt que documentation complète »).

· La collaboration (« Collaboration avec le client plutôt que négociation de contrat »).

· L'acceptation du changement (« Réagir au changement plutôt que suivre un plan »). Parmi les méthodes agiles, nous distinguons 2TUP, RUP (Rational Unified Process) et XP (eXtreme Programming).

23

C) PRESENTATION DE 2TUP (Two Truck Unified Process)

Two Track Unified Process, Instanciation de UP proposé par Valtech prenant en compte les aléas et contraintes liées aux changements perpétuels et rapides des SI des entreprises.

L'axiome fondateur du 2TUP consiste à constater que toute évolution imposée au système d'information peut se décomposer et se traiter parallèlement, suivant un axe fonctionnel et un axe technique.33

La branche gauche (branche fonctionnelle) comporte .

· La capture des besoins fonctionnels, qui produit un modèle des besoins focalisé sur le métier des utilisateurs. Elle qualifie au plus tôt le risque de produire un système inadapté aux utilisateurs. De son côté, la maîtrise d'oeuvre consolide les spécifications et en vérifie la cohérence et l'exhaustivité l'analyse, qui consiste à étudier précisément la spécification fonctionnelle de manière à obtenir une idée de ce que va réaliser le système en termes de métier. Les résultats de l'analyse ne dépendent d'aucune technologie particulière.

La branche droite (architecture technique) comporte .

· La capture des besoins techniques, qui recense toutes les contraintes et les choix dimensionnant la conception du système. Les outils et les matériels sélectionnés ainsi que la prise en compte de contraintes d'intégration avec l'existant conditionnent généralement des prérequis d'architecture technique ;

· La conception générique, qui définit ensuite les composants nécessaires à la construction de l'architecture technique. Cette conception est la moins dépendante possible des aspects fonctionnels. Elle a pour objectif d'uniformiser et de réutiliser les mêmes mécanismes pour tout un système. L'architecture technique construit le squelette du système informatique et écarte la plupart des risques de niveau technique. L'importance de sa réussite est telle qu'il est conseillé de réaliser un prototype pour assurer sa validité.

La branche du milieu comporte :

· La conception préliminaire, qui représente une étape délicate, car elle intègre le modèle d'analyse dans l'architecture technique de manière à tracer la cartographie des composants du système à développer ;

· La conception détaillée, qui étudie ensuite comment réaliser chaque composant ;

· L'étape de codage, qui produit ces composants et teste au fur et à mesure les unités de code réalisées ;

33 Pascal Roques et Franck Vallée, op.cit., p.13

34 Laurent DEBRAUWER et Fien VAN DER HIERDE, UML 2 Initiation, exemples et exercices corrigés, 2ième Edition, ENI Editions, Parsi, 2004, p.9.

24

· L'étape de recette, qui consiste enfin à valider les fonctions du système développé.

Figure 1-9: Le processus de développement en Y

I.3.2. LES LANGAGES DE MODELISATION

A) PRESENTATION DU LANGAGE UNIFIE DE MODELISATION (UML)

UML (Unified Modeling Language) est basé sur l'approche par objets. Il est un langage graphique destiné à la modélisation de systèmes et de processus. Simula, le tout premier langage à objets est né dans les années 1960. Ce langage connaît de nombreux successeurs : Smalltalk, C++, Java ou plus récemment C#.

UML est unifié car il provient de plusieurs notations qui l'ont précédé. Aujourd'hui, UML est promu par l'OMG (Object Management Group), un consortium de plus de 800 sociétés et universités actives dans le domaine des technologies de l'objet. OMG définit UML comme étant un langage visuel dédié à la spécification, la construction et la documentation des artefacts d'un système logiciel.

Dans les années 1980 et au début des années 1990, les notations graphiques se multiplient, chacun utilisant bien souvent sa propre notation. En 1994, James Rumbaugh et Grady Booch décident de se regrouper pour unifier leurs notations. Celles-ci provenaient de leurs méthodes : OMT pour James Rumbaugh et méthode Booch pour Grady Booch. En 1995, Yvar Jacobson décide de rejoindre l'équipe des "trois amigos". Cette équipe travaille alors au sein de Rational Software.34

35 Joseph Gabay et David Gabay, UML 2 analyse et conception (mise en oeuvre guidée avec étude de cas), Ed. Dunod, Paris, 2008, p.26.

25

Les grandes étapes de la diffusion d'UML peuvent se résumer comme suit :

1994-1996 : rapprochement des méthodes OMT, BOOCH et OOSE et naissance de la

première version d'UML.

23 novembre 1997 : version 1.1 d'UML adoptée par l'OMG.

1998-1999 : sortie des versions 1.2 à 1.3 d'UML.

2000-2001 : sortie des dernières versions suivantes 1.

2002-2003 : préparation de la V2.

10 octobre 2004 : sortie de la V2.1.

5 février 2007 : sortie de la V2.1.1.

2008 : sortie de la V2.2.

Octobre 2012 : sortie de la V2.5.

UML dans sa version 2.2 propose quatorze diagrammes qui peuvent être utilisés dans la description d'un système. Ces diagrammes sont regroupés dans deux grands ensembles.35

· Les diagrammes structurels ou statiques : Ces diagrammes, au nombre de sept (7), ont vocation à représenter l'aspect statique d'un système (classes, objets, composants...).

- Diagramme de classe : Ce diagramme représente la description statique du système en intégrant dans chaque classe la partie dédiée aux données et celle consacrée aux traitements. C'est le diagramme pivot de l'ensemble de la modélisation d'un système.

- Diagramme d'objet : Ce diagramme permet la représentation d'instances des classes et des liens entre instances.

- Diagramme de composant : Ce diagramme représente les différents constituants du logiciel au niveau de l'implémentation d'un système.

- Diagramme de déploiement : Ce diagramme décrit l'architecture technique d'un système avec une vue centrée sur la répartition des composants dans la configuration d'exploitation.

- Diagramme de paquetage : Ce diagramme donne une vue d'ensemble du système structuré en paquetage. Chaque paquetage représente un ensemble homogène d'éléments du système (classes, composants...).

- Diagramme de structure composite : Ce diagramme permet de décrire la structure interne d'un ensemble complexe composé par exemple de classes ou d'objets et de composants techniques. Ce diagramme met aussi l'accent sur les liens entre les sous-ensembles qui collaborent.

26

- Diagramme de profils : depuis la version 2.5 d'UML datant d'octobre 2012, permet de spécialiser, de personnaliser pour un domaine particulier un Métamodèle de référence d'UML.

· Les diagrammes de comportement : Ces diagrammes représentent la partie dynamique d'un système réagissant aux événements et permettant de produire les résultats attendus par les utilisateurs. Sept (7) diagrammes sont proposés par UML :

- Diagramme des cas d'utilisation : Ce diagramme est destiné à représenter les besoins des utilisateurs par rapport au système. Il constitue un des diagrammes les plus structurants dans l'analyse d'un système.

- Diagramme d'état-transition (machine d'état) : Ce diagramme montre les différents états des objets en réaction aux événements.

- Diagramme d'activités : Ce diagramme donne une vision des enchaînements des activités propres à une opération ou à un cas d'utilisation. Il permet aussi de représenter les flots de contrôle et les flots de données.

- Diagramme de séquence : Ce diagramme permet de décrire les scénarios de chaque cas d'utilisation en mettant l'accent sur la chronologie des opérations en interaction avec les objets.

- Diagramme de communication (anciennement appelé collaboration) : Ce diagramme est une autre représentation des scénarios des cas d'utilisation qui met plus l'accent sur les objets et les messages échangés.

- Diagramme global d'interaction : Ce diagramme fournit une vue générale des interactions décrites dans le diagramme de séquence et des flots de contrôle décrits dans le diagramme d'activités.

- Diagramme de temps : Ce diagramme permet de représenter les états et les interactions d'objets dans un contexte où le temps a une forte influence sur le comportement du système à gérer.

27

I.3.3. THEORIE SUR L'IMPLEMENTATION ET LA PROGRAMMATION

A. BASE DE DONNEES ET SYSTEME DE GESTION DE BASE DE DONNEES

4 BASE DE DONNEES (Database)

Une Base de données (BDD en sigle) est un ensemble structuré des données conservées sur des supports accessibles par ordinateur afin de les utiliser pour répondre aux besoins d'un ou des plusieurs utilisateurs dans un système d'information au moment opportun36.

L'histoire des bases de données

L'histoire des bases de données remonte aux années 1960, avec l'apparition des bases de données réseau et des bases de données hiérarchiques. Dans les années 1980, ce sont les bases de données object-oriented qui ont fait leur apparition. Aujourd'hui, les bases de données prédominantes sont les SQL, NoSQL et bases de données cloud.

Il est aussi possible de classer les bases de données en fonction de leur contenu : bibliographique, textes, nombres ou images. Toutefois, en informatique, on classe généralement les bases de données en fonction de leur approche organisationnelle. Il existe de nombreux types de bases de données différentes : relationnelle, distribuée, cloud, NoSQL...

Voici les différents types de bases de données

Les différents types de bases de données : bases de données hiérarchiques, bases de données réseau, bases de données orientée texte ou flat file database, bases de données relationnelles, bases de données distribuées, bases de données cloud, bases de données NoSQL, bases de données orientée objets, base de données orientée graphe.37

4 SYSTEME DE GESTION DE BASE DE DONNEES (Database Management

System)

Le logiciel qui permet à un utilisateur d'interagir avec une base de données est un système de gestion de base de données (SGBD). Il permet principalement d'organiser les données sur les supports périphériques (Disque dur par exemple) et fournit les procédures de recherche et de sélection de ces mêmes données. Pour aboutir à ce résultat, l'utilisateur décrit en termes abstraits ce qu'il souhaite faire sur les données, laissant le soin au système d'effectuer

36 C.T. Elie Louis KABWE KIONDE KABUTA, cours de MAI1, G2 INFO, UNIKAM, 2017-2018, inédit.

37 https://www.lebigdata.fr/base-de-donnees consulté le 24/03/2021 à 19:19.

28

les tâches de recherche en fonction de la représentation et de l'organisation des données sur les supports physiques. Ce ne sont pas les seules fonctions que doit assurer un SGBD.38

L'histoire de système de gestion de base de données

Le terme DataBase est de plus en plus utilisé comme abréviation pour DataBase Management System. Il existe beaucoup de DBMS différents. Certains sont des petits systèmes pouvant être lancés sur un ordinateur personnel, d'autres sont d'énormes systèmes nécessitant un mainframe.

Les DBMS ont été inventés dans les années 1960 pour prendre en charge les bases de données hiérarchiques. Les premiers systèmes étaient organisés de façon séquentielle (alphabétiquement, numériquement, ou chronologiquement). Il a fallu attendre l'apparition des appareils de stockage à accès direct pour pouvoir accéder aux données aléatoirement par le biais d'index. Parmi les DBMS les plus connus, on compte le IBM Information Management System, Microsoft office Access et le CA Integrated DataBase Management System.

Un RDBMS est un Relational DataBase Management System (système de gestion de base de données relationnel). Ce type de logiciel a été développé dans les années 70 en se basant sur le modèle relationnel. Encore aujourd'hui, il demeure la façon la plus populaire de gérer une BDD. Les RDBMS les plus connus sont Microsoft SQL Server, PostgreSQL, Informix, Oracle DataBase, IBM DB2 et MySQL.

B. LANGAGE DE PROGRAMMATION

Pour pouvoir développer des logiciels de qualité, vous avez besoin d'acquérir des connaissances et des compétences dans des domaines autres que les technologies de programmation, notamment le processus d'ingénierie, la méthodologie de développement, les exigences, la modélisation, la conception, le test, la gestion de projets, etc.

Un langage de programmation est comme un langage humain. Il y a un ensemble de lettres avec lesquelles on forme des mots. Les mots forment des phrases, les phrases des paragraphes, ceux-ci forment des chapitres qui se rassemblent et qui donnent naissance à un livre. C'est aussi un ensemble de signes et de conventions afin de permettre à la machine (ordinateur) de comprendre ce que l'homme veut donner comme ordre à exécuter.39

38 C.T. Elie Louis KABWE KIONDE KABUTA, Cours d'Introduction aux Bases de Données, G2 INFO, UNIKAM, 2017-2018, p.6.

39 Dr. Daily KALOMBO NSHIMBA VIDJE, Cours de Langage de Programmation Orienté Objet, G3 Informatique, UNIKAM, 2018-2019, Dispensé par Ass. Prince KABONGO.

29

Par-là, pour réaliser des actions que l'ordinateur doit exécuter, il existe plusieurs langages de programmations tels que : l'assembleur (ASM), le Cobol, le BASIC, le JAVA, le C/C++/C#, le Pascal, le Visual Basic, le Delphi, les langages du web (HTML, CSS, Java Script, PHP, SQL), le flash.

Le développement des logiciels consiste à étudier, concevoir, construire, transformer, mettre au point, maintenir et améliorer des logiciels. Un logiciel est créé petit à petit par une équipe d'ingénieurs conformément à un cahier des charges établi par un client demandeur ou une équipe interne. Le logiciel est décomposé en différents modules et un chef de projet, ou architecte, se charge de la cohérence de l'ensemble.

Quelles plateformes de développement web choisir ?40

Les façons de développer en web sont aussi variées que complexes, mais toutes ont un seul but, générer une page de code HTML liée à une feuille de style CSS et à un fichier Javascript. Chaque technique possède ses avantages et inconvénients. Chaque développeur trouvera la solution qui lui conviendra le mieux. Voici comment s'y retrouver :

? Langages côté serveur

Afin de comprendre comment les plateformes web fonctionnent, il faut comprendre les langages de programmation installé sur le serveur tel que PHP, ASP et JSP. Ceux-ci permettent de créer des applications web dynamiques en insérant des variables dans une page HTML. L'ASP, avec sa licence Microsoft, est largement répandu car il permet de programmer des applications complexes et il est inclus dans presque toutes les versions de Windows. Son principal compétiteur est PHP. Gratuit et très performant, il est simple d'utilisation et les tutoriels abondent pour en comprendre les rouages. Finalement, JSP, développé par SUN Microsystem permet d'insérer du code Java dans des pages HTML afin de rendre l'application dynamique. Gratuit également, il est très performant mais assez complexe.

? Plateformes de développement

Une plateforme de développement a pour but de faciliter la tâche des développeurs en fournissant une librairie de fonctions pouvant être exécutées à l'aide de variables à l'intérieur de pages HTML. ASP .NET est la plateforme web principale fonctionnant à l'aide d'un serveur

40 https://exob2b.com/plateformes-developpement-web/ consulté le 24/03/2021 à 23:03.

30

programmé en ASP. Cette plateforme permet une interopérabilité de tous les langages de programmation développés par Microsoft.

Parce qu'elles sont gratuites, les plateformes de développement en PHP abondent. Codeignitor, Symfony ou Cake PHP sont les plus populaires. Flexibles et simples d'utilisation, les plateformes PHP sont une bonne option pour développer des applications web complètes et efficaces.

Même principe sous JSP, où on retrouve plusieurs plateformes tel que Java SE ou AppFuse. Les plateformes de développement, quel que soit le langage, ont de nombreux atouts et facilitent la vie des développeurs.

Toutefois, le temps de développement nécessaire au déploiement de l'application sera directement proportionnel à la quantité de fonctions à programmer car ceux-ci n'offrent qu'une boîte à outil pour programmer. Cette solution sera donc développée exactement selon les besoins de client.

Il y a de nombreuses solutions, et il y en aura forcément une adaptée à vos besoins. Un facteur commun demeure, le temps. Et celui-ci influencera toujours votre décision !

31

CONCLUSION PARTIELLE

La seule contrainte morale que la théorie impose dès lors au modélisateur est celle d'une vérification a priori : a-t-il explicité les quelques axiomes sur lesquels il va, progressivement, appuyer ses inférences et graver son dessin ? Mais il doit choisir, librement, cette axiomatique, d'où la nécessité de tout ce qu'on a dit dans le premier chapitre (définir les concepts clés constituant le thème, définir les concepts de la technologie du web (site web, www, URL, port, etc.), quelques théories sur le développement logiciel, la présentation d'UP, 2TUP, UML enfin la théorie sur l'implémentation et la programmation).

32

CHAPITRE DEUXIEME : ETUDE PRELIMINAIRE ET CAPTURE DES
BESOINS FONCTIONNELS

II.1. INTRODUCTION

À ce niveau, nous allons entamer les premières étapes de la méthode 2TUP : Pour l'Etude Préliminaire, nous allons présenter le projet, recueillir les besoins fonctionnels, recueillir les besoins opérationnels, faire le choix technique, identifier les acteurs, identifier les messages enfin faire la modélisation du contexte. Pour la Capture des besoins fonctionnels, nous allons déterminer les cas d'utilisation, faire la description préliminaire des cas d'utilisation, faire la description détaillée des cas d'utilisation, faire la structuration des cas d'utilisation dans des packages, enfin identifier les classes candidates.

II.2. ETUDE PRELIMINAIRE

L'étude préliminaire (ou préétude) est la toute première étape de notre processus de développement. Elle consiste à effectuer un premier repérage des besoins fonctionnels et opérationnels, en utilisant principalement le texte, ou des diagrammes très simples. Elle prépare les activités plus formelles de capture des besoins fonctionnels et de capture des besoins techniques.41

A ce niveau, nous allons présenter le sujet de l'étude de cas l'UNIKAM, et commencer la modélisation de son contexte.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Figure 2-1: Situation de l'étude préliminaire dans 2TUP

 

41 Pascal Roques et Franck Vallée, op.cit., p.45

33

II.2.1. PRESENTATION DU PROJET

L'Université de Kamina est un établissement public possédant en son sein plus ou moins 3000 étudiants. Du point de vue de l'organisation des examens : l'année académique se divise en deux semestres de 15 semaines chacun. Cette répartition permet une gestion rationnelle du temps des enseignements, des évaluations et est susceptible les chances de réussite des étudiants.

Nous souhaitons doter à cet établissement un système informatique (site web) performant afin de permettre la gestion de :

- Gestion des paiements des étudiants, qui va faciliter la caisse d'effectuer différents rapports et des opérations sur les paiements ;

- Contact des internautes ;

- Synchronisation des données sur une même grille des cotes ;

- Comptes des étudiants ;

- Recours des étudiants ;

- Les archives du jury pour chaque édition ;

- Publication des résultats des étudiants.

Parmi ces différentes tâches, nous relèverons l'enregistrement des informations relatives aux étudiants et enseignants, Grilles de côtes, lesquelles informations relèvent d'un processus à trois ordres : la consultation et la publication des résultats ainsi que la gestion des dossiers en termes des relevés des cotes des étudiants.

Comme tout projet qui doit avoir une durée de vie de l'élaboration, notre projet s'étend de Mars en Septembre 2021.

II.2.2. RECUEIL DES BESOINS FONCTIONNELS

En premier lieu, les besoins exprimés par les personnels administratifs du décanat de la faculté des sciences informatiques a permis afin qu'on établisse le cahier de charges. Cette phase correspond à une recherche sur le terrain pour bien définir le cadre de notre système afin de satisfaire les besoins des utilisateurs.

Elle permet d'obtenir un chiffrage au plus juste des devis lors d'un appel d'offre. Ce volet du cahier des charges décrit le périmètre couvert par le logiciel, c'est-à-dire les fonctions de l'entreprise impactées : saisie des épreuves, encodage des côtes, publication des résultats, etc. Elle décrit ensuite les fonctionnalités recherchées dans l'acquisition de l'outil informatique.

34

? Inventaire des fonctions

Une première phase consiste à lister l'ensemble des fonctions que l'outil doit couvrir. En fonction du budget, les applications identifiées ne pourront pas forcément couvrir l'ensemble des fonctionnalités souhaitées. Il faut donc hiérarchiser et prioriser les fonctions estimées nécessaires que voici :

Nom de la fonction

Description de la fonction

Saisie des examens

Le secrétaire devra saisir les examens des étudiants avant la session.

Encodage des cotes

Le secrétaire devra encoder les cotes d'une promotion où il est affecté.

Synchronisation des données

Le Webmaster devra donner à tout secrétaire un lien où ce dernier n'aura accès à la saisie que dans la promotion où il est affecté.

Conversion de la grille de

délibération

Le jury devra télécharger le fichier sous format googlesheet et le convertir sous format PDF.

Inscription

Possibilité de s'inscrire, apporter des informations sur la fiche d'étudiant.

Recherche par mot clé

Recherche des résultats dans la base par mot clé.

Recherche par nom

Recherche des résultats par nom de l'étudiant.

Recherche par promotion

Recherche par promotion dans une année académique.

Affichage d'une liste de réponse après une recherche

Pouvoir voir la fiche à partir de cette liste de réponse.

Affichage d'une fiche

Voir la fiche.

Impression de la fiche

Imprimer la fiche

Prendre contact avec

l'enseignant

Possibilité de prendre contact avec l'enseignant à partir d'un formulaire.

Destruction de la fiche

L'administrateur pourra détruire une fiche.

Publication des résultats

Le secrétaire du jury pourra publier les résultats des étudiants en ordre.

Production du rapport des

différents paiements des
étudiants

La caisse devra produire le rapport des différents paiements des étudiants et cela par faculté, par promotion, par date paiement, de toute l'université.

Impression des listes définitives

De par différents rapports, la caisse devra imprimer les listes

des paiements des étudiants et cela par faculté, par promotion, par date paiement, de toute l'université.

...

...

Tableau 2-1: Inventaire des fonctions

35

II.2.3. CHOIX TECHNIQUES

Afin de maîtriser les risques, nous souhaitons utiliser une approche itérative et incrémentale, fondée sur le processus en Y.

Le choix d'un certain nombre de techniques clés pour ce projet stratégique sont principalement :

§ La modélisation objet avec UML ;

§ Avoir une base de données relationnelle unique partagée implémentée en MySQL pour le stockage de toutes les informations en rapport avec la publication des résultats des étudiants afin de permettre une manipulation et une mise à jour aisée de ladite base de données pour toutes les opérations effectuées ;

§ L'application devra fonctionner en mode 2 - tiers (client/serveur) ;

§ L'application doit être développée en utilisant les Framework CSS Boostrap et Bulma dans leurs dernières versions utilisant PHP 8.0.2 comme langage de programmation web ;

§ L'application doit respecter l'architecture MVC (Modèle-Vues-Contrôleur) ;

§ Le déploiement en client léger pour les fonctions les plus répandues ;

§ L'application doit être responsive c'est-à-dire l'affichage des interfaces devra s'adapter à chaque type d'écran sur lequel l'utilisateur consiste les informations de notre plateforme.

II.2.4. RECUEIL DES BESOINS OPERATIONNELS ? SECURITE

· Chaque utilisateur doit posséder un nom d'utilisateur et un mot de passe unique pour lui permettre d'accéder au site web ;

· Lors de sa connexion, chaque secrétaire doit être reconnu du système par un nom, un mot de passe et la fonction qu'il occupe (dans la promotion) ;

· Un client connecté via Internet doit également être identifié par un mot de passe et n'accéder qu'aux informations d'en-cours des résultats ou de recours qui le concernent ;

· Un administrateur système est chargé de définir les profils des utilisateurs ;

· L'application doit permettre de gérer les accès des utilisateurs selon un privilège et un état d'activation de chaque compte ;

· Il faut garantir la sécurité d'accès à l'espace administrateur pour protéger les données personnelles des utilisateurs ;

36

· Prévenir contre l'accès direct avec les liens URL et définir un délai de temps pour la fermeture de session non activé ;

· L'interface de ce site web doit être ergonomique, conviviale et même apte à aider l'utilisateur à mieux gérer son espace de travail.

? CARACTERISTIQUES DES UTILISATEURS

La plupart des utilisateurs (internautes et administrateurs) sont des utilisateurs lambda pas forcément aguerris à l'outil informatique, donc le site web se devait d'être le plus simple possible (très intuitif) et bien documenté (pas en langage de technicien).

? SAUVEGARDE DES DONNEES

Un plan de sauvegarde régulière des données sera mis en place, dans une deuxième phase d'évolution du produit, en cas de dysfonctionnement du serveur ou de destruction malveillante. Ce mécanisme pourra prendre plusieurs formes : une sauvegarde automatique sur le serveur à la déconnexion de l'administrateur, une sauvegarde automatique en local à l'ouverture de la partie administration et une sauvegarde manuelle dans le répertoire de son choix en cliquant simplement sur un bouton. Il faudra prévoir un bouton pour la restauration d'une sauvegarde.

? CONFIDENTIALITE

Le projet n'était pas classé « confidentiel » ou « secret défense » néanmoins les informations concernant l'institution ne devaient pas être communiquées à tierces personnes notamment les rapports de paiement, les grilles de côtes et de délibération pratiqués à l'Université et le fichier étudiants.

Une fois ce premier recueil de besoins effectué, la description du contexte du système peut commencer. Elle consiste en trois activités successives :

- l'identification des acteurs,

- l'identification des messages,

- la réalisation des diagrammes de contexte.

37

II.2.5. IDENTIFICATION DES ACTEURS

Un acteur représente une entité appartenant à l'environnement de l'application qui interagit avec l'application. Le concept d'acteur permet de classifier les entités externes à l'application. Un acteur est identifié par un nom.42

Un acteur est la Construction qui représente un rôle joué par un utilisateur humain ou un autre système qui interagit directement avec le système étudié. Un acteur participe à au moins un cas d'utilisation.43

Les acteurs suivants sont ceux qui interagissent avec le système informatique à développer :

? L'étudiant : C'est un acteur principal et déclencheur de l'application qui possède un espace d'authentification (un login et un mot de passe) pour pouvoir consulter ses résultats, introduire le recours, etc.

? Le Webmaster : a pour rôle de gérer : les comptes des utilisateurs, les vulnérabilités, les questionnaires, les recommandations et afficher l'historique des vulnérabilités. Il accède par l'intermédiaire d'un login et un mot de passe.

? La caissière : ajoute le paiement de l'étudiant, établit les listes définitives des étudiants en ordres avec les frais, et produit différents rapports de leurs paiements.

? Le secrétaire du jury : il a la gestion des résultats dans ses attributions (saisir, modifier, supprimer) et produit la statistique de la promotion où il est affecté, il a les tâches de publication.

? Le secrétaire Général Académique : il consulte différents rapports et statistiques sur les résultats des étudiants des différents jurys (validation des résultats), gérer les secrétaires des différents jurys (affectation, mis à jour et suppression de celle-ci).

II.2. 6. IDENTIFICATION DES MESSAGES

Un message représente la spécification d'une communication unidirectionnelle entre les objets, qui transporte de l'information avec l'intention de déclencher une activité chez le récepteur.

Un message est normalement associé à deux occurrences d'événements :

- un événement d'envoi,

- un événement de réception.

42 Xavier Blanc et Isabelle Mounier, UML2 pour les développeurs, Edition Eyrolles, Paris, 2007, p.99.

43 Pascal Roques, UML2 par la pratique (Etudes de cas et exercices corrigés), 5e édition, Ed. Eyrolles, Paris, 2006, p.341.

38

Nous allons décrire les interactions de plus haut niveau entre les acteurs et le système :

- Pour chaque acteur, identifier quels sont les messages qui déclenchent un comportement du système attendu par l'acteur dans le cadre de son activité.

- Pour le système, identifier quels sont les messages émis à l'intention d'un acteur particulier, et qui portent une information utilisée par ce destinataire.

§ Le système reçoit les messages suivants :

- Activer le système,

- Créer, modifier ou supprimer utilisateur,

- Gérer compte (modifier mot de passe),

- Ajouter paiement étudiant,

- Imprimer listes paiements,

- Créer, modifier ou supprimer secrétaire du jury,

- Affecter secrétaire du jury au jury de telle faculté,

- Consulter cotes,

- Publier résultats,

- Consulter statistiques résultats,

- Consulter résultats,

- Introduire recours,

- Valider, modifier ou supprimer résultats.

- Consulter recours,

- Affecter, mettre à jour ou supprimer secrétaire du jury...

§ Le système émet les messages suivants :

- Afficher écran Accès autorisé,

- Afficher liste utilisateurs,

- Afficher écran compte utilisateur,

- Afficher listes paiements,

- Afficher écran impression,

- Afficher listes secrétaires du jury,

- Afficher liste affectations,

- Afficher écran cotes étudiants,

- Afficher écran résultats,

- Afficher listes résultats,

- Afficher liste recours postés,

39

- Afficher liste résultats mis à jour.

- Afficher la liste des secrétaires du jury...

II.2.7. MODELISATION DU CONTEXTE

Tous les messages (système ? acteurs) identifiés précédemment peuvent être représentés de façon synthétique sur un diagramme, que l'on peut qualifier de diagramme de contexte dynamique. De notre part, nous allons illustrer le diagramme de contexte statique.

Figure 2-2: Diagramme de contexte statique du système de publication des résultats des étudiants de l'UNIKAM

II.3. CAPTURE DES BESOINS FONCTIONNELS

La capture des besoins fonctionnels est la première étape de la branche gauche du cycle en Y. Elle formalise et détaille ce qui a été ébauché au cours de l'étude préliminaire.

La technique des cas d'utilisation est la pierre angulaire de cette étape. Elle va nous permettre de préciser l'étude du contexte fonctionnel du système, en décrivant les différentes façons qu'auront les acteurs d'utiliser le futur système.44

Nous verrons successivement à ce point comment :

? identifier les cas d'utilisation du système par ses acteurs, ? décrire les cas d'utilisation,

44 Pascal Roques et Franck Vallée, op.cit., p.62.

40

? organiser les cas d'utilisation,

? identifier les classes candidates du modèle d'analyse.

Figure 2-3: Situation de la capture des besoins fonctionnels dans 2TUP

II.3.1. DETERMINATION DES CAS D'UTILISATION

Un cas d'utilisation (en anglais use case) représente un ensemble de séquences d'actions réalisées par le système et produisant un résultat observable intéressant pour un acteur particulier.

Un cas d'utilisation spécifie une fonction offerte par l'application à son environnement. Un cas d'utilisation est spécifié uniquement par un intitulé. Le concept de cas d'utilisation offre une vue fonctionnelle sur l'application.45

Il permet de décrire ce que le futur système devra faire, sans spécifier comment il le fera. Dans le cadre de la branche fonctionnelle, le cas d'utilisation doit mettre en valeur les interactions métier entre les acteurs et le système. On exprimera donc des actions effectuées dans le cadre du métier de l'utilisateur, par opposition à des manipulations de l'application ou à des comportements techniques.

Un cas d'utilisation comporte donc :

- un acteur principal (c'est obligatoire),

- d'éventuels acteurs secondaires.

Le tableau ci-dessous permet d'établir le résultat de ce travail, en montrant le lien entre les cas d'utilisation identifiés, les acteurs principaux et secondaires, et les messages provenant du contexte.

45 Xavier Blanc et Isabelle Mounier, op.cit., p.99.

41

LISTE PRELIMINAIRE DES CAS D'UTILISATION

Cas d'utilisation

Acteur principal,
acteurs secondaires

Message(s) émis/reçu par les acteurs

1.

S'authentifier

Utilisateur

Emet :se connecter, login + mot de passe, valider

Reçois : Accès autorisé ou pas

2.

Gérer utilisateurs

Webmaster

Emet : s'authentifier, ajouter, modifier ou

supprimer utilisateur

Reçois : liste des utilisateurs

3.

Gérer Secrétaires

des jurys

Secrétaire Général

Académique

Emet : s'authentifier, afficher liste des

secrétaires des jurys, sélectionner le code du secrétaire, affecter ou mettre à jour ou bloquer l'accès.

Reçois : liste des Secrétaires du jury

4.

Consulter statistiques résultats

Secrétaire Général

Académique

Emet : s'authentifier, consulter Reçois : statiques des résultats

5.

Gérer paiements

Caissière

Emet : s'authentifier, ajouter, modifier,

supprimer paiement

Reçois : liste des paiements mise à jour

6.

Publier résultats

Secrétaire du jury

Emet : s'authentifier, vérifier grilles de

délibération des étudiants en ordre, charger grilles, publier

Reçois : résultats disponibles

7.

Gérer publications résultats

Secrétaire du jury

Emet : s'authentifier, sélectionner publication, ajouter, modifier ou supprimer publication Reçois : liste des publications mise à jour

8.

S'Inscrire

Etudiant

Emet : Se connecter, s'inscrire

Reçois : liste des étudiants inscrits au système

9.

Consulter résultats

Etudiant

Emet : s'authentifier, consulter Reçois : résultats disponibles

10.

Introduire recours

Etudiant

Emet : s'authentifier, introduire/joindre fichier de preuve

Reçois : liste des recours postés

11.

Consulter recours

Secrétaire du jury

Emet : s'authentifier, sélectionner promotion, afficher recours postés, consulter Reçois : liste des recours postés

 

Tableau 2-2: Liste des acteurs et des messages par cas d'utilisation

42

II.3.2. DESCRIPTION PRELIMINAIRE DES CAS D'UTILISATION

Chaque cas d'utilisation doit faire l'objet d'une définition a priori qui décrit l'intention de l'acteur lorsqu'il utilise le système et les séquences d'actions principales qu'il est susceptible d'effectuer. Ces définitions servent à fixer les idées lors de l'identification des cas d'utilisation et n'ont aucun caractère exhaustif.

§ S'authentifier (Utilisateur)

Intention : S'authentifier au sein d'un système est une mesure de sécurité pour celui-ci ; Actions : se connecter, login + mot de passe, valider.

§ Gérer utilisateurs (Webmaster)

Intention : la gestion des utilisateurs est d'une importance capitale, il y a gestion d'accès dans la session ne vous concernant pas tout en étant utilisateur ;

Actions : S'authentifier, ajouter modifier et supprimer utilisateur, valider.

§ Gérer Secrétaires des jurys (Secrétaire Général Académique)

Intention : gérer affectations des secrétaires des différents jurys ;

Actions : s'authentifier, afficher liste des secrétaires des jurys, sélectionner le code du secrétaire, affecter ou mettre à jour ou bloquer l'accès.

§ Consulter statistiques résultats (Secrétaire Général Académique) Intention : valider les résultats dans différents jurys ;

Actions : s'authentifier, sélectionner numéro jury, afficher statistique.

§ Gérer paiements (Caissière)

Intention : permettre à la caissière de pouvoir gérer les paiements des étudiants afin de pouvoir s'informer en temps réel de l'état d'avancement des paiements.

Actions : s'authentifier, ajouter/modifier/supprimer paiements, produire rapport paiement.

§ Publier résultats (Secrétaire du jury)

Intention : mettre en ligne les résultats des étudiants ;

Actions : s'authentifier, vérifier grilles de délibération des étudiants en ordre, charger grilles, publier.

§ Gérer publications résultats (Secrétaire du jury)

Intention : permettre au Secrétaire du jury de pouvoir mettre à jour les publications. Il peut modifier ou supprime une publication des résultats des étudiants.

Actions : s'authentifier, sélectionner publication, ajouter, modifier ou supprimer publication.

43

§ S'Inscrire (Etudiant)

Intention : permettre à l'étudiant n'ayant pas accès à la consultation des résultats de s'inscrire c.à.d. faire partir à la plate-forme, lors de la publication de pouvoir s'authentifier pour pouvoir consulter ses résultats ou introduire un recours ;

Actions : Se connecter, s'inscrire.

§ Consulter résultats (Etudiant)

Intention : après publication des résultats la consultation des résultats est utile et, ce afin de pouvoir vérifier son bilan du travail ;

Actions : s'authentifier, sélectionner faculté/promotion, consulter.

§ Introduire recours (Etudiant)

Intention : En cas d'insatisfaction de ses résultats ou aux étudiants non délibérés, introduire recours après délibération est nécessaire pour leur bienêtre ;

Actions : s'authentifier, introduire recours, saisir les réclamations dans le formulaire, joindre les fichiers de preuve, valider, payer en ligne, choisir moyen de paiement, entrer numéro carte, introduire ;

§ Consulter recours (Secrétaire du jury)

Intention : Consulter les recours postés afin de les traiter ;

Actions : s'authentifier, sélectionner numéro promotion, afficher listes des recours postés, valider.

Maintenant que nous avons identifié les cas d'utilisation et leurs acteurs, nous allons pouvoir les représenter graphiquement sur un diagramme de cas d'utilisation, dont la notation graphique de base est la suivante :

System

S'inscrire

Consulter résultats

:Étudiant

Introduire recours

<<include>>

<<include>>

Gérer résultats <<include>>

<<include>>

S'authentifier

Publier résultats

<<include>>

:Secrétaire du jury

<<include>>

Consulter Recours

<<include>>

<<include>>

<<include>>

Gérer paiements

Gérer utilisateurs

Consulter statistiques

:Caissière

Gérer Secrétaires des jurys

:SGAC

Utilisateur

:Webmaster

44

Figure 2-4: Diagramme de cas d'utilisation pour la publication des résultats des étudiants de l'UNIKAM

45

II.3.3. DESCRIPTION DETAILLEE DES CAS D'UTILISATION

La fiche de description textuelle d'un cas d'utilisation n'est pas normalisée

par UML. Nous préconisons pour notre part la structuration suivante :

CAS D'UTILISATION « S'AUTHENTIFIER »

Description textuelle du Cas d'utilisation

- Sommaire d'identification

· Titre : S'authentifier

· Objectif : Ce cas d'utilisation permet de déterminer si l'utilisateur est ou non autorisé à se connecter au système. Les droits des utilisateurs sont par ailleurs utilisés pour donner ou interdire l'accès à certains éléments du système qui requièrent des privilèges adéquats.

· Acteur concerné : Utilisateur.

· Domaine fonctionnel : Gestion profils

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : L'utilisateur doit disposer un compte préalablement créé par l'administrateur système.

· Post condition : Le système autorise ou non l'accès à la page demandée à l'utilisateur.

· Scénario nominal

1. L'utilisateur saisit son nom d'utilisateur, son mot de passe et son mail.

2. Le système vérifie le nom d'utilisateur son mot de passe et son mail.

3. Le système affiche l'espace approprié pour chaque utilisateur.

· Scénario alternatif

Le nom d'utilisateur, le mot de passe et le mail sont erronés, le système affiche un message d'erreur précisant que tel champs n'est pas valide, on effectue un retour vers la page d'authentification.

Description des diagrammes d'analyse du cas d'utilisation

Pour documenter les cas d'utilisation, la description textuelle est indispensable, car elle seule permet de communiquer facilement avec les utilisateurs et de s'entendre sur la terminologie métier employée. En revanche, le texte présente des désavantages puisqu'il est difficile de montrer comment les enchaînements se succèdent, ou à quel moment les acteurs

46

secondaires sont sollicités. En outre, la maintenance des évolutions s'avère souvent fastidieuse. Il est donc recommandé de compléter la description textuelle par un ou plusieurs diagrammes dynamiques UML. La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de séquence (figure 2.5.).

Figure 2-5: Diagramme de Séquence du C.U. « S'authentifier »

47

CAS D'UTILISATION « GERER UTILISATEURS » Description textuelle du Cas d'utilisation

- Sommaire d'identification

· Titre : Gérer utilisateurs

· Objectif : ce cas d'utilisation permet au Webmaster de pouvoir ajouter, modifier ou supprimer un compte (profil utilisateur).

· Acteur concerné : Webmaster.

· Domaine fonctionnel : Gestion utilisateurs

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021

- Description des enchaînements

· Pré condition : Le Webmaster s'est authentifié correctement au système, doit être disponible pour effectuer n'importe quelle action.

· Post condition : Les informations de l'utilisateur doivent être mise à jour pour son compte.

· Scénario nominal

? CU1 : Créer un utilisateur

1. Le Webmaster choisit d'ajouter un compte utilisateur.

2. Le système affiche le formulaire à remplir.

3. Le Webmaster rempli et valide le formulaire.

4. Le système ajoute les informations dans la base de données.

5. Le système actualise la liste des utilisateurs et l'affiche. ? CU2 : Modifier un profil utilisateur

1. Le Webmaster choisit l'utilisateur à modifier.

2. Le système affiche le formulaire de modification.

3. Le Webmaster modifie les champs voulus.

4. Le système met à jour les informations dans la base de données.

5. Le système actualise la liste des utilisateurs et l'affiche. ? CU3 : Supprimer un profil utilisateur

1. Le Webmaster choisit l'utilisateur à supprimer.

2. Le système demande une confirmation.

3. Le Webmaster confirme ou annule la suppression.

4. Le système supprime l'utilisateur de la base.

48

5. Le système actualise la liste des utilisateurs et l'affiche.

· Scénario alternatif

V' L'utilisateur existe déjà ou valeurs des champs non conforme aux types de données, formulaire non rempli : un message d'erreur sera affiché par le système.

V' La modification de données avec des champs vides, champs non conformes aux types : un message d'erreur sera affiché par le système.

V' L'utilisateur inexistant dans la base de données : un message d'erreur sera affiché. Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de séquence (figure 2.6).

49

Figure 2-6: Diagramme de Séquence du C.U. « Gérer utilisateurs »

50

CAS D'UTILISATION « GERER SECRETAIRES DES JURYS »

Description textuelle du Cas d'utilisation - Sommaire d'identification

· Titre : Gérer Secrétaires des jurys

· Objectif : permettre au Secrétaire du jury de pouvoir gérer les secrétaires affectés dans différents jurys ;

· Acteur principal : Secrétaire Général Académique.

· Acteur secondaire : Secrétaire du jury

· Domaine fonctionnel : Gestion des Secrétaires des jurys.

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : Le Secrétaire Général Académique s'est authentifié correctement au système.

· Post condition : La liste des Secrétaires des jurys doit être mise à jour.

· Scénario nominal

- Demander page de gestion de Secrétaires des jurys ; - Le système affiche la page.

? CU1 : Affecter Secrétaire dans un jury

1. Le SGAC Demande page d'affection d'un Secrétaire dans un jury ;

2. Le système affiche la page ;

3. Le SGAC saisi les coordonnées d'affectation ;

4. Le système vérifie la conformité ;

5. Le système enregistre et met à jour si les coordonnées sont conformes. ? CU2 : Mise à jour d'une affectation

1. Le SGAC Demande page de modification ;

2. Le système affiche la page ;

3. Le SGAC sélectionne l'affectation ;

4. Le système affiche le détail ;

5. Le SGAC saisi les informations supplémentaires ;

6. Le système vérifie la conformité,

7. Le système met à jour si les informations sont conformes.

51

? CU3 : Suppression d'une affectation

1. Le SGAC Demande page de modification ;

2. Le système affiche la page ;

3. Le SGAC du jury sélectionne l'affectation ;

4. Le système affiche les détails de l'affectation ;

5. Le SGAC du jury supprime l'affectation ;

6. Le système demande la confirmation de la suppression ;

7. Le SGAC confirme la suppression ;

8. Le système supprime l'affectation du secrétaire dans un jury et actualise la liste des affectations des secrétaires.

· Scénario Alternatif

y Erreur d'une affectation

" Le système affiche un message d'erreur ;

" Le SGAC réessaye l'affectation ;

" Le système valide l'enregistrement d'une affectation et affiche la confirmation.

y Erreur de mise à jour d'une affectation

" Le système affiche un message d'erreur ;

" Le SGAC réessaye la mise à jour ;

" Le système valide la mise à jour et affiche la confirmation.

y Erreur de suppression d'une affectation

" Le système affiche l'erreur rencontrée lors de suppression ;

" Le SGAC corrige l'erreur détectée ;

" Le système valide et affiche la confirmation.

Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de

séquence (figure 2.7).

52

Figure 2-7: Diagramme de Séquence du C.U. « Gérer Secrétaires des jurys »

53

CAS D'UTILISATION « CONSULTER STATISTIQUES RESULTATS » Description textuelle du Cas d'utilisation

- Sommaire d'identification

· Titre : Consulter statistiques résultats

· Objectif : permettre au Secrétaire Général Académique de consulter les statistiques des résultats dans différents jurys avant la publication des résultats pour prendre une certaine décision après constat.

· Acteur concerné : Secrétaire Général Académique.

· Domaine fonctionnel : Consultation statistiques résultats

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : Le SGAC s'est authentifié correctement au système.

· Post condition : Le SGAC doit normalement consulter les statistiques des résultats.

· Scénario nominal

1. Le SGAC demande la page de consultation des statistiques des résultats d'un jury ;

2. Le système lui affiche la page des résultats par jury/promotion ;

3. Le SGAC décrit un critère de recherche des informations (par exemple : sélectionner un code d'un jury quelconque et le code d'une promotion qu'il doit consulter) ;

4. Le système recherche les informations ;

· Scénario alternatif

Point 1 du scénario nominal : Code Jury non trouvé ou critère non valide - Le système affiche un message d'erreur ;

- Afficher les détails de l'information ;

Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de séquence (figure 2.8).

54

Figure 2-8: Diagramme de Séquence du C.U. « Consulter statistiques résultats »

CAS D'UTILISATION « GERER PAIEMENTS »

Description textuelle du Cas d'utilisation - Sommaire d'identification

· Titre : Gérer paiements

· Objectif : permettre à la caissière de pouvoir gérer les paiements des étudiants afin de pouvoir s'informer en temps réel de l'état d'avancement des paiements.

· Acteur concerné : Caissière

· Domaine fonctionnel : Gestion paiements

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : La Caissière s'est authentifiée correctement au système.

· Post condition : Les paiements sont mis à jour.

· Scénario nominal

? CU1 : Ajouter paiement

1. La Caissière choisit d'ajouter un paiement.

55

2. Le système affiche le formulaire à remplir.

3. La Caissière rempli et valide le formulaire.

4. Le système ajoute les informations dans la base de données.

5. Le système actualise la liste des paiements et l'affiche. ? CU2 : Modifier paiement

1. La Caissière choisit le numéro paiement à modifier.

2. Le système affiche le formulaire de modification.

3. Le Webmaster modifie les champs voulus.

4. Le système met à jour les informations dans la base.

5. Le système actualise la liste des paiements et l'affiche. ? CU3 : Supprimer un paiement

1. La Caissière choisit le numéro paiement à supprimer.

2. Le système demande une confirmation.

3. La Caissière confirme ou annule la suppression.

4. Le système supprime l'utilisateur dans la base de données.

5. Le système actualise la liste des paiements et l'affiche.

· Scénario alternatif

V' Les valeurs des champs non conforme aux types de données, formulaire non rempli : un message d'erreur sera affiché par le système.

V' La modification de données avec des champs vides, champs non conformes aux types : un message d'erreur sera affiché par le système.

V' Le numéro paiement inexistant dans la base de données : un message d'erreur sera affiché.

Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de séquence (figure 2.9).

56

Figure 2-9: Diagramme de Séquence du C.U. « Gérer paiements »

57

CAS D'UTILISATION « PUBLIER RESULTATS »

Description textuelle du Cas d'utilisation - Sommaire d'identification

· Titre : Publier résultats

Objectif : permettre au Secrétaire du jury de publier les résultats des étudiants sur le Web après validation du SGAC. L'étudiant peut venir consulter ses résultats.

· Acteur concerné : Secrétaire du jury.

· Domaine fonctionnel : Gestion résultats

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : Le Secrétaire du jury s'est authentifié correctement au système.

· Post condition : Les résultats sont disponibles en ligne

· Scénario nominal

1. Le Secrétaire du jury demande la page de publication des résultats ;

2. Le système lui affiche la page correspondante ;

3. Le Secrétaire du jury charge l'élément à publier ;

4. Le Secrétaire du jury saisi les informations supplémentaire détaillant l'élément ;

5. Le système vérifie la conformité de l'élément à publier ;

6. Le système enregistre s'il est conforme.

· Scénario alternatif

Point 1 du scénario nominal : grille non conforme

- Le système renvoi l'erreur ;

- Le Secrétaire du jury réessaye ;

- Le système valide et émet un message de confirmation

Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de

séquence (figure 2.10).

58

Figure 2-10: Diagramme de Séquence du C.U. « Publier résultats »

CAS D'UTILISATION « GERER PUBLICATIONS RESULTATS »

Description textuelle du Cas d'utilisation - Sommaire d'identification

· Titre : Gérer publications résultats

· Objectif : permettre au Secrétaire du jury de pouvoir mettre à jour les publications. Il peut modifier ou supprime une publication des résultats des étudiants.

· Acteur concerné : Secrétaire du jury.

· Domaine fonctionnel : Gestion résultats

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : Le Secrétaire du jury s'est authentifié correctement au système.

· Post condition : La liste des publications doit être mise à jour.

· Scénario nominal

? CU1 : Mise à jour d'une publication

1. Demander page de modification ;

2. Le système affiche la page

3. Le Secrétaire du jury sélectionne la publication ;

4. Le système affiche le détail ;

5. Le Secrétaire du jury saisi les informations supplémentaires ;

59

6. Le système vérifie la conformité,

7. Le système met à jour si les informations sont conformes. ? CU2 : Suppression d'une publication

1. Le Secrétaire du jury sélectionne la publication ;

2. Le système affiche les détails de la publication ;

3. Le Secrétaire du jury supprime la publication ;

4. Le système demande la confirmation de la suppression ;

5. Le Secrétaire du jury confirme la suppression ;

6. Le système supprime l'abonné et actualise la liste des publications.

· Scénario Alternatif

? Erreur de mise à jour d'une publication

" Le système affiche un message d'erreur ;

" Le Secrétaire du jury réessaye la mise à jour ;

" Le système valide la mise à jour et affiche la confirmation.

? Erreur de suppression d'une publication

" Le système affiche l'erreur rencontrée lors de suppression ;

" Le Secrétaire du jury corrige l'erreur détectée ;

" Le système valide et affiche la confirmation.

Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de

séquence (figure 2.11).

60

Figure 2-11: Diagramme de Séquence du C.U. « Gérer publications résultats »

61

CAS D'UTILISATION « S'INSCRIRE »

Description textuelle du Cas d'utilisation - Sommaire d'identification

· Titre : S'Inscrire

· Objectif : permettre à l'étudiant de s'inscrire c.à.d. faire partir à la plate-forme, lors de la publication de pouvoir s'authentifier pour pouvoir consulter ses résultats ou introduire un recours ;

· Acteur concerné : Etudiant.

· Domaine fonctionnel : Consultation résultats

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : Aucune condition.

· Post condition : compte créé (l'étudiant doit devenir un client lors de sa connexion).

· Scénario nominal

1. L'Etudiant demande la page d'inscription ;

2. Le système lui affiche la page demandée ;

3. L'Etudiant saisi les coordonnées d'inscription ;

4. Le système vérifie la conformité ;

5. Le système enregistre l'étudiant dans la catégorie des clients si les coordonnées sont valides.

· Scénario alternatif

Point 1 du scénario nominal : Coordonnées inscription non valide

? Le système émet un message d'erreur ;

? L'étudiant réessaye l'inscription ;

? Le système valide l'inscription et émet un message de confirmation.

Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de

séquence (figure 2.12).

62

Figure 2-12: Diagramme de Séquence du C.U. « S'inscrire »

CAS D'UTILISATION « CONSULTER RESULTATS » Description textuelle du Cas d'utilisation

- Sommaire d'identification

· Titre : Consulter résultats

· Objectif : permettre à l'étudiant de consulter ses résultats après publication.

· Acteur concerné : Etudiant.

· Domaine fonctionnel : Consultation résultats

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : L'étudiant s'est authentifié correctement au système.

· Post condition : L'étudiant doit normalement consulter les résultats.

· Scénario nominal

1. L'Etudiant demande la page de consultation des résultats ;

2. Le système lui affiche la page des résultats publiées ;

3. L'Etudiant décrit un critère de recherche des informations ;

4. Le système recherche les informations ;

· Scénario alternatif

63

Point 1 du scénario nominal : Code étudiant non trouvé ou critère non valide

- Le système affiche un message d'erreur ; - Afficher les détails de l'information ;

Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de séquence (figure 2.13).

Figure 2-13: Diagramme de Séquence du C.U. « Consulter résultats »

CAS D'UTILISATION « INTRODUIRE RECOURS » Description textuelle du Cas d'utilisation

- Sommaire d'identification

· Titre : Introduire recours

· Objectif : permettre à l'étudiant d'introduire ses déclarations de non satisfaction après publication des résultats.

· Acteur concerné : Etudiant.

· Domaine fonctionnel : Consultation résultats

· Version : 1.0

64

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : L'étudiant a consulté les résultats après publication.

· Post condition : Le jury a pris une décision de délibération et le client en a été averti.

· Scénario nominal

1. L'Etudiant choisit d'introduire un recours.

2. Le système affiche le formulaire à remplir.

3. L'Etudiant rempli les déclarations, joint les fichiers de preuve et valide le formulaire.

4. Le système ajoute les informations dans la base de données.

5. Le système actualise la liste des recours postés et l'affiche.

· Scénario alternatif

Au point 3 du scénario nominal : informations manquantes ou incorrectes, l'Etudiant doit compléter ou modifier sa déclaration de recours (retour au point 3 du scénario nominal). Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de séquence (figure 2.14).

Figure 2-14: Diagramme de Séquence du C.U. « Introduire recours »

65

CAS D'UTILISATION « CONSULTER RECOURS » Description textuelle du Cas d'utilisation

- Sommaire d'identification

· Titre : Consulter recours

· Objectif : permettre à l'étudiant de consulter les recours postés par les étudiants en vue de pouvoir les traiter.

· Acteur concerné : Secrétaire du jury.

· Domaine fonctionnel : Gestion résultats.

· Version : 1.0

· Responsable : Charles KATEBA

· Date : 04/05/2021 - Description des enchaînements

· Pré condition : Le Secrétaire du jury s'est authentifié correctement au système.

· Post condition : Le Secrétaire du jury doit normalement consulter les recours postés.

· Scénario nominal

1. Le Secrétaire du jury demande la page de consultation des recours ;

2. Le système lui affiche la page des recours postés ;

3. Le Secrétaire du jury consulte les recours postés, sélectionné le nom de l'étudiant en question et télécharge les preuves de la déclaration de recours ;

4. Le système télécharge les preuves de la déclaration de recours.

· Scénario alternatif

Point 1 du scénario nominal : Critère non valide

- Le système affiche un message d'erreur ;

- Téléchargement réussie.

Description des diagrammes d'analyse du cas d'utilisation

La suite de l'analyse du cas d'utilisation se poursuit par l'élaboration du diagramme de séquence (figure 2.15).

66

Figure 2-15: Diagramme de Séquence du C.U. « Consulter recours »

II.3.4. STRUCTURATION DES CAS D'UTILISATION DANS DES PACKAGES

Pour définir la stratégie de regroupement des cas d'utilisation pour un projet, il convient de recourir à la liste suivante de critères : par domaine d'expertise métier, par acteur, par lot de livraison. Le mécanisme générique de regroupement d'éléments en UML s'appelle le package. Nous allons y recourir dans cette activité, afin de structurer notre ensemble de cas d'utilisation.

QU'EST-CE QU'UN PACKAGE ?

Un package UML représente un espace de nommage qui peut contenir : des éléments d'un modèle, des diagrammes qui représentent les éléments du modèle, d'autres packages.46

Les éléments contenus dans un package : doivent représenter un ensemble fortement cohérent, sont généralement de même nature et de même niveau sémantique. Le critère de regroupement retenu pour le système de publication des résultats des étudiants de UNIKAM est le premier cité, soit le domaine d'expertise métier. Il correspond également à un découpage par ensemble d'acteurs fortement reliés. Si nous reprenons le tableau préliminaire, en affectant chaque cas d'utilisation à un package, nous obtenons ce qui suit :

46 Pascal Roques et Franck Vallée, op.cit., p.83.

67

Cas d'utilisation

Acteurs

Package

S'authentifier

Utilisateur

Services support

Gérer utilisateurs

Webmaster

S'Inscrire

Etudiant

Consulter résultats

Etudiant

Consultation des résultats

Consulter statistiques

résultats

Secrétaire Général Académique

Introduire recours

Etudiant

Gérer publications

résultats

Secrétaire du jury

Gestion des résultats

Gérer Secrétaires des jurys

Secrétaire Général Académique

Publier résultats

Secrétaire du jury

Consulter recours

Secrétaire du jury

Gérer paiements

Caissière

Gestion des paiements

Tableau 2-3: Liste des cas d'utilisation et de leurs acteurs par package

Le cas d'utilisation inclus S'authentifier est mis dans un package à part, en tant que fragment commun, pour bien le distinguer des vrais cas fonctionnels qui l'incluent. Les flèches de dépendance entre packages de cas d'utilisation synthétisent les éventuelles relations entre les cas, c'est-à-dire ici les inclusions. Le schéma suivant présente la structuration proposée des cas d'utilisation. Il s'agit d'un diagramme de packages, officialisé par UML 2.

Figure 2-16: Diagramme de packages des cas d'utilisation

68

En effet, chaque package de cas d'utilisation occasionne la création d'un diagramme. La notation (from Fragments) n'est pas standard UML, mais est utilisée par plusieurs outils du marché. En voici le package attirant notre attention :

Figure 2-17: Diagramme de cas d'utilisation du package « gestion résultats »

I.3.5. IDENTIFICATION DES CLASSES CANDIDATES

Les premières classes candidates identifiées dans cette phase sont des concepts connus des utilisateurs du système, ce qu'on appelle couramment (et abusivement, puisque ce sont des classes) des objets métier. Exemples pour l'étude de cas : Cours, Etudiant, Enseignant, Paiements, etc.

Nous allons dans un second temps des concepts « applicatifs », liés à l'informatisation. Exemples pour l'étude de cas : Profil utilisateur, etc.

Nous allons formaliser ensuite ces concepts métier sous forme de classes et d'associations rassemblées dans un diagramme statique pour chaque cas d'utilisation. Ces diagrammes préliminaires, que nous appelons « diagramme de classes participantes », n'ont pas d'objectif d'exhaustivité.

Pour élargir cette première identification des concepts du système, nous allons utiliser une catégorisation des classes qui a été popularisée par le RUP. Les classes d'analyse

69

qu'ils préconisent se répartissent en trois catégories. Les trois catégories de classes d'analyse sont :

- Celles qui permettent les interactions entre le site et ses utilisateurs sont qualifiées de dialogues.

- Celles qui contiennent la cinématique de l'application sont appelés contrôles.

- Celles qui représentent les concepts métier sont qualifiées des entités.

A. DIAGRAMME DES CLASSES PARTICIPANTES

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « S'AUTHENTIFIER » Pour illustrer les différents objets en interaction en rapport avec ce cas d'utilisation Les objets y figurant sont représentés de la manière suivante :

Figure 2-18: Diagramme de classe participante du C.U. « S'authentifier »

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « GERER UTILISATEURS»

« Gérer Utilisateurs » est un cas d'utilisation qui prend en compte la manipulation des objets décrits sur le diagramme de classes participantes, ci-après :

Figure 2-19: Diagramme de classe participante du C.U. « Gérer utilisateurs »

70

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « GERER SECRETAIRES DES JURYS »

Ce diagramme présente les objets qui sont en relation lors de la réalisation du cas d'utilisation « Gérer Secrétaires des Jurys ». La représentation est la suivante :

Figure 2-20: Diagramme de classe participante du C.U. « Gérer Secrétaires des Jurys »

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « CONSULTER STATISTIQUES RESULTATS »

Pour illustrer les différents objets en interaction en rapport avec ce cas d'utilisation Les objets y figurant sont représentés de la manière suivante :

Figure 2-21: Diagramme de classe participante du C.U. « Consulter statistiques résultats »

71

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U « GERER PAIMENTS » Le cas d'utilisation « Gérer paiements » a comme les objets qui y participent ceux qui suivent :

Figure 2-22: Diagramme de classe participante du C.U. « Gérer paiements »

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « PUBLIER

RESULTATS »

« Publier résultats » est un cas d'utilisation qui prend en compte la manipulation des objets décrits sur le diagramme de classes participantes, ci-après :

Figure 2-23: Diagramme de classe participante du C.U. « Publier résultats »

72

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « GERER PUBLICATIONS RESULTATS »

Ce diagramme présente les objets qui sont en relation lors de la réalisation du cas d'utilisation « Gérer publications résultats ». La représentation est la suivante :

Figure 2-24: Diagramme de classe participante du C.U. « Gérer publications résultats »

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « S'INSCRIRE » Ce diagramme présente les objets qui sont en relation lors de la réalisation du cas d'utilisation « S'Inscrire ». La représentation est la suivante :

Figure 2-25: Diagramme de classe participante du C.U. « S'inscrire »

73

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « CONSULTER

RESULTATS »

Le cas d'utilisation « Consulter résultats » a comme les objets qui y participent ceux qui suivent :

Figure 2-26: Diagramme de classe participante du C.U. « Consulter résultats »

4 DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « INTRODUIRE

RECOURS »

Ce diagramme présente les objets qui sont en relation lors de la réalisation du cas d'utilisation « Introduire recours ». La représentation est la suivante :

Figure 2-27: Diagramme de classe participante du C.U. « Introduire recours »

74

? DIAGRAMME DE CLASSE PARTICIPANTE DU C.U. « CONSULTER

RECOURS »

« Consulter recours » est un cas d'utilisation qui prend en compte la manipulation des objets décrits sur le diagramme de classes participantes, ci-après :

Figure 2-28: Diagramme de classe participante du C.U. « Consulter recours »

II.3.6. DEFINITION DES ITERATIONS PAR CLASSEMENT DES CAS
D'UTILISATION

Dans le cadre d'un développement itératif et incrémental, il est très utile de recourir au découpage en cas d'utilisation pour définir les itérations. À cet effet, il convient en premier lieu d'identifier les cas d'utilisation les plus critiques en termes de gestion des risques. Ces cas d'utilisation devront être traités prioritairement afin de lever au plus tôt les risques majeurs. Il sera également demandé au client d'affecter une priorité fonctionnelle à chaque cas d'utilisation, afin de livrer d'abord les cas d'utilisation les plus demandés.47

Le tableau ci-dessous nous permettra d'organiser la manière de concevoir les différentes fonctionnalités de notre site web en tenant compte de l'ordre de priorité, de risques à gérer au cours de la réalisation du système informatique par rapport à une fonctionnalité quelconque. Et cela donne lieu aux itérations représentées dans le tableau ci-après :

47 Pascal Roques et Franck Vallée, op.cit., p.91.

75

CAS D'UTILISATION

RISQUE

PRIORITE

ITERATION

1.

S'authentifier

Bas

Moyenne

8

2.

Gérer utilisateurs

Bas

Moyenne

8

3.

Gérer Secrétaires des jurys

Bas

Moyenne

6

4.

Consulter statistiques résultats

Moyen

Haute

5

5.

Gérer paiements

Bas

Basse

7

6

Publier résultats

Moyen

Haute

4

7.

Gérer publications résultats

Bas

Basse

7

8.

S'Inscrire

Haut

Haute

1

9.

Consulter résultats

Moyen

Moyenne

3

10.

Introduire recours

Moyen

Moyenne

3

11.

Consulter recours

Bas

Basse

7

 

Tableau 2-4: Définition des itérations par classement des cas d'utilisation

76

CONCLUSION PARTIELLE

Dans ce chapitre nous avons fait l'étude préliminaire et la capture des besoins fonctionnels :

Pour l'étude préliminaire, nous avons présenté notre projet, nous avons recueilli les besoins fonctionnels tout en faisant le choix technique et le choix technique opérationnel, nous avons identifié les acteurs de notre futur système (5 acteurs) et nous avons conclu par modéliser le contexte.

Pour la capture des besoins fonctionnels, nous avons identifié les cas d'utilisation du système par ses acteurs (11 C.U. et 4 acteurs), décrit d'une façon détaillée les cas d'utilisation en appuyant la description textuelle par les illustrations des diagrammes de séquence ; organisé les cas d'utilisation dans des packages (4 packages) et identifié les classes candidates du modèle d'analyse en utilisant le diagramme de classe participante et le diagramme des classes de conception, nous avons chuté tout en définissant les itérations et cela par classement des cas d'utilisation.

Somme toute, nous avons eu à Dialoguer avec le client sur son expression préliminaire de besoins grâce à une description fonctionnelle qu'il comprend facilement, et Réparer la modélisation orientée objet en aidant à trouver les classes principales du futur modèle statique d'analyse.

77

CHAPITRE TROISIEME : ANALYSE ET CONCEPTION DU SYSTEME INFORMATIQUE

III.1. INTRODUCTION

La conception des sites web est un sujet à la mode !

Bref, tout pour améliorer la forme, mais où est passé le fond ? Que vient faire l'internaute sur le site ? Quelles informations s'attend-il à trouver ? Comment ces informations sont-elles structurées, reliées entre elles, mises à jour ? Bref, comment garantir que les choix de réalisation de notre site web sont bien adaptés aux objectifs de l'utilisateur ?

La réponse tient en un seul mot : modéliser ! car, « Chercher une méthode, c'est chercher un système d'opérations extériorisables qui fasse mieux que le travail de l'esprit. » (Paul VALERY, Variétés.).

Ce chapitre traite du démarrage de l'analyse et de la conception objet du système à réaliser.

III.2. ANALYSE

Pour passer à l'analyse, nous allons changer radicalement l'organisation du modèle et nous fonder sur les principes de l'approche orientée objet, notamment sur celui d'encapsulation. À cet effet, nous allons passer d'une structuration fonctionnelle via les cas d'utilisation et les packages de cas d'utilisation, à une structuration objet via les classes et les catégories.

III.2.1. DECOUPAGE EN CATEGORIES

Le découpage en catégories constitue la première activité de l'étape d'analyse (il s'affine bien sûr de manière itérative au cours du projet). Il se situe sur la branche gauche du cycle en Y et succède à la capture des besoins fonctionnels. En fin d'analyse des besoins, nous obtenons un découpage fonctionnel exprimé à travers les cas d'utilisation organisés dans le modèle de spécification fonctionnelle.

Une catégorie consiste en un regroupement logique de classes à forte cohérence interne et faible couplage externe.48 Nous la représentons par un stéréotype de package.

La démarche mise en oeuvre dans cette section se résume en disant que : pour parvenir à faire le découpage entre catégories il faut avant tout faire la structuration des packages de cas d'utilisation, établir le diagramme de classes participantes et par là : répartir les classes candidates en catégories, élaborer les diagrammes de classes préliminaires par catégorie et en fin décider des dépendances entre catégorie. En effet, de nouvelles classes (par

48 Pascal Roques et Franck Vallée, op.cit., p.117.

78

exemple : administrateur, profil, utilisateur) vont probablement être introduites ; certaines pourront être déplacées afin de minimiser les dépendances entre catégories.

Figure 3-1: Premier découpage en catégories

Voici les raisons de ce premier découpage :

y' La catégorie Exploitation Informatique a été isolée de la catégorie Personnels car elle correspond à un service technique classique dans toute application informatique ou site web (et donc potentiellement réutilisable), mais pas à un service métier ;

y' Les catégories délibération et paiements sont séparées du fait que : pour délibérer un étudiant ce n'est ne pas nécessairement conditionnel que ce dernier soit toujours en ordre.

III.2.2. DEPENDANCES ENTRE CATEGORIES

Posséder des éléments, un package peut également importer des éléments visibles d'un autre package. UML définit ainsi deux niveaux de visibilité : public (+) : l'élément est utilisable par tout package relié par une dépendance ; private (-) : l'élément n'est utilisable que par son package parent. En analyse, nous préfixerons simplement les classes visibles par le symbole « + ». Pour les dépendances nous allons illustrer celles des associations ainsi que celles de l'importation.

Voici quelques associations concernant la classe Résultats et des classes d'autres catégories.

79

Figure 3-2: Quelques associations concernant la classe Résultats

Voici maintenant les importations concernant ces catégories :

Figure 3-3: Illustration d'importations entre catégories

Il est à noter que l'importation est une relation unidirectionnelle, qui offre un accès aux éléments du package Résultats pour les éléments du package Personnels. En somme, même si la catégorie Résultats importe la catégorie Personnels, la classe Caissier n'a toujours pas accès à la classe Résultats. La simple différence vient du fait que l'association est par défaut une relation bidirectionnelle entre classes.

80

III.2.3. DIAGRAMME DU PACKAGE D'ANALYSE

Le schéma ci-dessous schéma de la série représente ainsi l'état préliminaire des dépendances souhaitées entre les catégories au début de la phase d'analyse. C'est un diagramme de packages au sens UML 2.0.

Figure 3-4: Diagramme de packages d'analyse

III.2.4. DEVELOPPEMENT DU MODELE STATIQUE

Le développement du modèle statique constitue la deuxième activité de l'étape d'analyse. Elle se situe sur la branche gauche du cycle en Y et succède au découpage en catégories. Les diagrammes de classes établis sommairement dans les DCP (diagrammes des classes participantes), puis réorganisés lors du découpage en catégories, vont être détaillés, complétés, et optimisés.

Pour une démarche d'élaboration du modèle statique, de par le cahier des charges, les fiches de descriptions de cas d'utilisation et le diagramme de classes participantes que nous avons fait au chapitre deuxième, nous allons : affiner les classes, affiner les associations, Ajouter les attributs, ajouter les opérations (optionnel) et puis optimiser avec la généralisation le diagramme de classes. De par notre analyse, au lieu de reprendre tous les diagrammes des classes participantes nous préférons présenter ci-dessous, le diagramme de classe du modèle statique.

gère

1..*

1

81

<<entity>>

Paiements

-N°_Paiement: Int

-Motif_Paiement: String

-Date_Paiement: Date

+ajouter() +modifier() +supprimer() +rechercher() +imprimer()

1..*

effectue

1

<<entity>>

Etudiant

-Mat_Etudiant: Int

-Nom_Etudiant: String

-Sexe: String

+get()

+set()

appartient

1..*

1

être destiné

<<entity>>

Secrétaire du jury

+créer()

+modifier()

+supprimer()

1 1..*

Crée

1..*

<<entity>>

Profil

-Num_Inscription: Int -Nom_Utilisateur: String -Gmail: String -Date_Creation: Date

+éditer()

+modifier()

+supprimer()

<<entity>>

<<entity>>

Promotion

-CodePr: Int

-NomPr: String

-Faculte: String

+get()

+set()

1concerne1

1..*

1

Caissière

-Mat_Caissière: Int

-Nom_Caissière: String

-Contact

+créer() +modifier() +supprimer() +affecter()

<<entity>>

Résultats

-Num_Resultat: Int

-Date_Publication: Date

+éditer() +charger() +publier() +consulter() +mettre à jour() +supprimer()

1..*

encode

1..*

1

+créer() +modifier() +supprimer() +affecter() -Mat_SJ: Int -Nom_SJ: String -Gmail_SJ: String

évolue

1..*

1..*

fait référence

1

<<entity>>

Jury

-CodeJ: Int

-NomJ: String

-Effectif_Total: Int

-Annee_Ac: Date

être affecté

0..*

<<entity>>

Recours

1..* 1

1

1

-Num_Recours: Int -Objet: String -Plaintes: String -Date_Recours: Date

+éditer() +valider() +consulter() +rejetter()

1

1..*

<<entity>>

Cours

-Code_Cours: Int -Nom_Cours: String -Volume_Horaire: String -Ponderation: Int

+get()

+set()

Figure 3-5: Diagramme de classes de conception

Figure 3-6: Diagramme d'interaction du C.U s'authentifier

82

III.2.5. DEVELOPPEMENT DU MODELE DYNAMIQUE

Le développement du modèle dynamique constitue la troisième activité de l'étape d'analyse. Elle se situe sur la branche gauche du cycle en Y. Il s'agit d'une activité itérative, fortement couplée avec l'activité de modélisation statique, décrite au paragraphe précédent.

Partant de la démarche d'élaboration du modèle dynamique, en nous servant de diagramme de cas d'utilisation et des fiches de la description des cas d'utilisation il est nécessaire d'identifier les scénarios (liste de scénarios) et puis formaliser ces derniers à l'aide des diagrammes d'interactions.

1. Interaction du Cas d'utilisation « S'authentifier »

Le diagramme d'interactions qui illustre le contrat d'opérations « s'authentifier » est le suivant :

83

2. Interaction du Cas d'utilisation « Gérer utilisateurs »

Le diagramme d'interactions qui illustre le contrat d'opérations « Gérer utilisateurs » est le suivant :

Figure 3-7: Diagramme d'interaction du C.U gérer utilisateurs

84

3. Interaction du Cas d'utilisation « Gérer secrétaires des jurys »

Le diagramme d'interactions qui illustre le contrat d'opérations « Gérer secrétaires des jurys » est le suivant :

Figure 3-8: Diagramme d'interaction du C.U gérer secrétaires des jurys

85

4. Interaction du Cas d'utilisation « Consulter statistiques résultats »

Le diagramme d'interactions qui illustre le contrat d'opérations « Gérer secrétaires des jurys » est le suivant :

Figure 3-9: Diagramme d'interaction du C.U consulter statistiques résultats

86

5. Interaction du Cas d'utilisation « Gérer paiements »

Le diagramme d'interactions qui illustre le contrat d'opérations « Gérer paiements » est le suivant :

Figure 3-10: Diagramme d'interaction du C.U Gérer paiements

87

6. Interaction du Cas d'utilisation « Publier résultats »

Le diagramme d'interactions qui illustre le contrat d'opérations « Publier résultats » est le suivant :

Figure 3-11: Diagramme d'interaction du C.U Publier résultats

88

7. Interaction du Cas d'utilisation « Gérer publications résultats »

Le diagramme d'interactions qui illustre le contrat d'opérations « Gérer publications résultats » est le suivant :

Figure 3-12: Diagramme d'interaction du C.U Gérer publications résultats

89

8. Interaction du Cas d'utilisation « S'Inscrire »

Le diagramme d'interactions qui illustre le contrat d'opérations « S'Inscrire » est le suivant :

Figure 3-13: Diagramme d'interaction du C.U S'Inscrire

90

9. Interaction du Cas d'utilisation « Consulter résultats »

Le diagramme d'interactions qui illustre le contrat d'opérations « Consulter résultats » est le suivant :

Figure 3-14: Diagramme d'interaction du C.U Consulter résultats

91

10. Interaction du Cas d'utilisation « Introduire recours »

Le diagramme d'interactions qui illustre le contrat d'opérations « Introduire recours » est le suivant :

Figure 3-15: Diagramme d'interaction du C.U Introduire recours

92

11. Interaction du Cas d'utilisation « Consulter recours »

Le diagramme d'interactions qui illustre le contrat d'opérations « Consulter recours » est le suivant :

Figure 3-16: Diagramme d'interaction du C.U Consulter recours

93

III.3. CONCEPTION

Le glossaire IEEE 610.12-1990 définit la conception comme (1) le processus consistant à définir l'architecture, les composants, les interfaces et d'autres caractéristiques d'un système ou d'un composant et (2) le résultat même de ce processus.

Lors de la conception, il est à savoir qu'UML permet de visualiser, de spécifier, de construire et de documenter. Ces quatre aspects vont être maintenant décrits pour l'activité de conception sur la branche droite du processus 2TUP, à la conception générique (construire le modèle logique, le modèle d'exploitation, le modèle de configuration logicielle, faire le générateur de code puis le prototypage). Pour l'activité de conception sur la branche du milieu du processus 2TUP nous avons la conception préliminaire (concevoir le déploiement, concevoir le modèle d'exploitation, organiser le modèle logique, concevoir les interfaces, concevoir la structure de la présentation, organiser la configuration logicielle) et la conception détaillée (concevoir le modèle logique et développer la configuration logicielle).

A ce propos, nous allons juste concevoir l'architecture de l'application web et construire enfin la base de données relationnelle.

III.3.1. ARCHITECTURE DU LOGICIEL

« L'ergonomie des produits informatiques ? Au-delà de la fiabilité et de la performance, les utilisateurs réclament toujours plus de confort d'utilisation et d'efficacité de l'interface... à juste titre ! » Gilles Murawiec.

Le standard IEEE 1471 définit l'architecture d'un logiciel comme l'organisation fondamentale d'un système incorporée dans ses composants, leurs interrelations, leurs relations avec l'environnement et les principes qui guident toutes les tâches de conception et d'évolution du logiciel. L'architecture logicielle définit donc la structure interne du logiciel ; c'est une manière particulière de structurer et d'organiser les éléments internes d'un logiciel ou d'un composant.

Les caractéristiques d'une bonne architecture incluent les aptitudes telles que la modularité, l'extensibilité, la résistance aux pannes, la simplicité, etc.

Plusieurs auteurs ont contribué à identifier les styles architecturaux les plus importants en génie logiciel. On distingue les styles suivants :

? les structures générales telles que les modèles en couches, les modèles en pipe, les modèles à filtres et les modèles blackboard,

? les styles de systèmes distribués tels que le client/serveur, le modèle 3-tiers, le broker,

94

? les styles de systèmes interactifs tels que le modèle Modèle-Vue-Contrôleur, le modèle Présentation-Abstraction-Contrôle, les styles de systèmes adaptables tels que le micro noyau, la réflexion et

? bien d'autres utilisés pour les systèmes en batch, les interpréteurs, les systèmes de contrôle de processus, les systèmes à base de règles.

? Pour les styles des systèmes distribués, nous avons fait le choix de l'architecture client/serveur.

Dans une architecture client/serveur, les fonctionnalités du système logiciel sont organisées en services, chaque service étant délivré par un serveur différent. Les clients sont les utilisateurs de ces services ; ils contactent les serveurs sur le réseau.

Sur les réseaux actuels, les clients et serveurs exploitent essentiellement les fonctionnalités logicielles des protocoles TCP/IP pour pouvoir solliciter des services et échanger des informations.

Le schéma suivant présente le style d'architecture en 2-tiers (client/serveur) :

Figure 3-17: choix de style des architectures logiciels

? Pour les styles de systèmes interactifs, nous avons fait le choix du patron architectural modèle-vue-contrôleur (MVC, de l'anglais model-view-controller), car est un modèle en couches destiné à répondre aux besoins des applications interactives en séparant les problématiques liées aux différents composants au sein de leur architecture respective.

Ce modèle regroupe les fonctions nécessaires en trois catégories :

V' Un modèle (modèle de données),

V' Une vue (présentation, dialogue utilisateur),

V' Un contrôleur (logique de contrôle, gestion des événements, synchronisation).

95

Cette architecture peut être schématisée de la manière suivante :

Figure 3-18: Implémentation du modèle MVC

Il existe plusieurs architectures de références :

+ Applications web ;

+ Applications clientes riches ;

+ Applications web riches ;

+ Applications mobiles ;

+ Applications à base de services ;

+ ...

? Pour l'architecture de référence, nous avons fait le choix de l'application web client

léger, car c'est un pattern architectural le plus classique aujourd'hui et correspond donc aux applications Internet/intranet pour lesquelles la configuration du client n'est pas maîtrisable, à ceci près que l'on requiert côté client un navigateur web assez récent, comprenant le langage JavaScript. Le client navigue sur des pages dotées d'intelligence (programmée en JavaScript).

? Pour les composants logiciels, nous avons retenu comme composants ceux qui suivent : ? Le navigateur client : à l'occurrence de Google Chrome, d'Opera mini, Mozilla Firefox, ? Le Framework pour le développement du code source du logiciel, à l'instar de PHP, Symphony, Laravel, ASP.NET CORE, ...

? Le Framework pour le style de présentation et d'animation des pages web, comme Bootstrap, Bulma, MDB, JQuery, AdminLte, ...

? Le serveur de données à l'exemple de MySQL, SQL Server, Oracle Server, ...

? Le serveur d'application et le serveur Web(http) : Apache, Tomcat, Glashfish, IIS, ...

Navigateur Internet explorer

Poste Secrétaire du Jury

Navigateur Opera mini

Navigateur Mozilla

Navigateur Safari

Poste Webmaster

<<artifact>>

<<artifact>>

<<artifact>>

<<artifact>>

<<device>>

<<device>>

Poste SGAC

Poste Caissière

<<device>>

<<device>>

SERVEUR WEB

<<artifact>>

Site web de publication des résultats.php

Figure 3-19: Diagramme de déploiement

96

? Le choix du serveur HTTP Apache est du fait qu'Apache est un serveur HTTP open-source pour les systèmes d'exploitation modernes. Le but de ce projet est de fournir un serveur sécurisé, efficace et extensible qui fournit des services HTTP respectant les standards HTTP actuels. Nous l'avons utilisé pour nous aider à configurer les Virtual hosts afin de nous permettre de faire des tests sur le déploiement en réseau local.

? Pour les composants matériels, les matériels suivants seront utilisés :

? Les postes de travail : Les Ordinateurs Personnels et/ou téléphones intelligents (Smart phones) ;

? Les différents éléments pour la connexion sans fil comme le routeur, modem, câbles réseaux, VSAT, le point d'accès, ...

? Quant au formalisme qui va nous servir à décrire graphiquement les aspects structurels liés à l'architecture d'un logiciel : nous avons choisi le diagramme de déploiement, pour visualiser, spécifier et documenter les décisions au sujet de la topologie et de la vue physique de notre système.

97

III.3.2. CONSTRUCTION DE LA BASE DE DONNEES RELATIONNELLE

Il est possible de traduire un diagramme de classes en modèle relationnel. Bien entendu, les méthodes des classes ne sont pas traduites. Aujourd'hui, lors de la conception de bases de données, il devient de plus en plus courant d'utiliser la modélisation UML plutôt que le traditionnel modèle entités - associations.

Cependant, à moins d'avoir respecté une méthodologie adaptée, la correspondance entre le modèle objet et le modèle relationnel n'est pas une tâche facile. En effet, elle ne peut que rarement être complète puisque l'expressivité d'un diagramme de classes est bien plus grande que celle d'un schéma relationnel.

Nous référant de toutes les notions sur la représentation d'un schéma relationnel, voici notre modèle physique de données :

CREATE DATABASE pubresultat; USE pubresultat;

CREATE TABLE promotion (codepr VARCHAR (10) NOT NULL PRIMARY KEY, nompr VARCHAR (25) NOT NULL, faculte VARCHAR (80) NOT NULL);

CREATE TABLE etudiant (mat_etudiant VARCHAR (10) NOT NULL PRIMARY KEY, nom_etudiant VARCHAR (30) NOT NULL, sexe VARCHAR (10) NOT NULL)

CREATE TABLE caissiere (mat_caissiere VARCHAR (10) NOT NULL PRIMARY KEY, nom_caissiere VARCHAR (30) NOT NULL,contact VARCHAR (20));

CREATE TABLE cours (code_cours VARCHAR (10) NOT NULL PRIMARY KEY, nom_cours VARCHAR (30) NOT NULL,volume_horaire INTEGER (10), ponderation Integer (3));

CREATE TABLE paiements (num_paiement INTEGER AUTO_INCREMENT PRIMARY KEY, facultes VARCHAR (30), codepr VARCHAR (10) NOT NULL, motif_paiement VARCHAR (30) NOT NULL, montant INTEGER (10), date_paiement date, mat_etudiant VARCHAR (10) NOT NULL, mat_caissiere VARCHAR (10) NOT NULL, FOREIGN KEY (mat_etudiant) REFERENCES etudiant(mat_etudiant),FOREIGN KEY (mat_caissiere) REFERENCES caissiere(mat_caissiere), FOREIGN KEY (codepr) REFERENCES promotion(codepr));

98

CREATE TABLE secretaire_jury (mat_sj VARCHAR (10) NOT NULL PRIMARY KEY, nom_sj VARCHAR (30) NOT NULL, gmail_sj VARCHAR (25));

CREATE TABLE profil (num_inscription INTEGER AUTO_INCREMENT PRIMARY KEY,mat_etudiant VARCHAR (10) NOT NULL, nom_utilisateur VARCHAR (30) NOT NULL,mot_passe VARCHAR (10) NOT NULL,gmail VARCHAR (25), date_creation DATE, FOREIGN KEY (mat_etudiant) REFERENCES etudiant (mat_etudiant));

CREATE TABLE utilisateur (user_name VARCHAR (20) NOT NULL PRIMARY KEY, pwd VARCHAR (10) NOT NULL);

CREATE TABLE jury (code_jury VARCHAR (10) NOT NULL PRIMARY KEY, nom_jury VARCHAR (10) NOT NULL, effectif_membre INTEGER (5));

CREATE TABLE affectation (num_aff INTEGER AUTO_INCREMENT PRIMARY KEY, mat_sj VARCHAR (10) NOT NULL, codepr VARCHAR (10) NOT NULL, code_jury VARCHAR (10) NOT NULL, date_aff DATE, FOREIGN KEY (mat_sj) REFERENCES secretaire_jury (mat_sj), FOREIGN KEY (codepr) REFERENCES promotion (codepr), FOREIGN KEY (code_jury) REFERENCES jury (code_jury));

CREATE TABLE recours (num_rec INTEGER AUTO_INCREMENT PRIMARY KEY, code_jury VARCHAR (10) NOT NULL, type_session VARCHAR (15) NOT NULL, mat_etudiant VARCHAR (10) NOT NULL,codepr VARCHAR (10) NOT NULL, plaintes VARCHAR (255) NOT NULL, date_rec DATE,FOREIGN KEY (codepr) REFERENCES promotion (codepr), FOREIGN KEY (code_jury) REFERENCES jury (code_jury), FOREIGN KEY (mat_etudiant) REFERENCES etudiant (mat_etudiant));

CREATE TABLE resultat (num_res INTEGER AUTO_INCREMENT PRIMARY KEY, code_jury VARCHAR (10) NOT NULL, types_session VARCHAR (15) NOT NULL, codepr VARCHAR (10) NOT NULL, mat_etudiant VARCHAR (10) NOT NULL,maxima_gen INTEGER (10) NOT NULL, pourcentage DECIMAL (10,0) NOT NULL,decision VARCHAR (5) NOT NULL, nbre_echec INTEGER (5), date_res DATE,FOREIGN KEY (codepr) REFERENCES promotion (codepr), FOREIGN KEY (code_jury) REFERENCES jury (code_jury), FOREIGN KEY (mat_etudiant) REFERENCES etudiant (mat_etudiant));

99

CONCLUSION PARTIELLE

Dans ce chapitre, nous avons vu en particulier comment utiliser la notion de package pour définir des catégories de classes d'analyse et découper le modèle UML en blocs logiques les plus indépendants possibles. Cette structuration logique a été ensuite affinée durant toute l'étape d'analyse. Pour la conception : nous avons défini les architectures nécessaires pour notre site web (client/serveur, modèle MVC, l'application web léger) et nous avons construit notre base de données relation en utilisant MySQL comme SGBD ; mais néanmoins l'analyse restera pour le chef de projet un outil essentiel qui lui permettra d'organiser son processus de développement.

100

CHAPITRE QUATRIEME : IMPLEMENTATION IV.1. INTRODUCTION

En effet, l'évolution de l'informatique a engendré de nouveaux challenges concernant la promotion de techniques et de méthodes permettant de concevoir des interfaces graphiques utiles et utilisables (Koua et Kraak, 2004).

Un service Web est un médium standardisé permettant la communication entre les applications clients et serveurs sur le World Wide Web. Il fournit une plateforme commune permettant à des multiples applications développées avec différents langages de programmation de communiquer entres elles.49

Les diagrammes UML développés ne sont donc qu'une façon d'exprimer un problème, ils ne constituent pas une solution. Si nous implémentions les classes telles qu'elles sont identifiées dans les cas d'utilisation fonctionnels, nous passerions à côté d'un véritable travail de conception :

- il n'y aurait pas de recherche de composants existants à réutiliser ;

- aucune recherche d'optimisation ne serait réalisée ;

- les concepts seraient mélangés et on obtiendrait des classes concentrant trop de responsabilités, c'est-à-dire un code objet lourd à maintenir. Ce serait le syndrome des classes obèses.

49 Guy PUJOLLE, Les réseaux 2ème édition, éd. Eyrolles, Paris, 2018

101

IV.2. PRESENTATION DES INTERFACES UTILISATEURS

Selon Tony Hoare : « Il y existe deux manières de concevoir un logiciel. La première, c'est de le faire si simple qu'il est évident qu'il ne présente aucun problème. La seconde, c'est de le faire si compliqué qu'il ne présente aucun problème évident. La première méthode est de loin la plus complexe. »

Une interface homme-machine est un assemblage de composants logiciels et matériels qui permet l'accomplissement de tâches avec le concours d'un ordinateur (Coutaz, 1988). L'interface utilisateur doit être conçue de manière à se conformer aux compétences, à l'expérience, aux attentes et au contexte de travail des utilisateurs.

Voici les interfaces utilisateurs de notre site web pour la publication des résultats des étudiants de l'UNIKAM :

1) Page d'accueil pour la gestion des publications des résultats des étudiants de l'Université de Kamina

Figure 4-1: Page d'accueil pour la gestion des publications des résultats des étudiants de l'Université de Kamina

102

2) Page d'authentification

Figure 4-2: Page d'authentification

3) Pages de gestion d'utilisateurs

103

Figure 4-3: Pages de gestion d'utilisateurs

4) Page d'inscription

Figure 4-4: Page d'inscription

104

5) Pages de gestion d'affectation des secrétaires des jurys

Figure 4-5: Pages de gestion d'affectation des secrétaires des jurys

6) Pages de gestion de paiements

105

Figure 4-6: Pages de gestion de paiements

7) Pages de gestion des résultats

Figure 4-8: Page de statistiques résultats

106

Figure 4-7: Pages de gestion des résultats

8) Page de statistiques résultats

107

9) Page de consultation des résultats

Figure 4-9: Page de consultation des résultats

10) Page d'introduction d'un recours

Figure 4-10: Page d'introduction d'un recours

11) Page de consultation de recours

Figure 4-11: Page de consultation de recours

108

CONCLUSION PARTIELLE

Ce chapitre a pour but de procéder à la matérialisation de la solution de conception et son intégration sur différents matériels que nous avons fait au choix technique.

En ingénierie et plus particulièrement en informatique, la mise en oeuvre désigne la création d'un produit fini à partir d'un document de conception ou de spécification. Une partie de l'implémentation ayant déjà été faite dans le chapitre précédant, de ce fait, nous avons présenté justement quelques interfaces illustrant notre site web qui a été développé.

109

CONCLUSION GENERALE

Selon Antoine de Saint-Exupéry, « la perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter mais lorsqu'il n'y a plus rien à retirer. », de ce fait, nous voici au terme de notre travail qui a eu comme thème : « conception et implémentation d'un site web de publication des résultats des étudiants dans une institution universitaire » (cas de l'Université de KAMINA).

« Quelle solution pouvons-nous implémenter afin rendre accessible et d'améliorer la gestion de publication des résultats des étudiants à l'UNIKAM dans la clarté pourvu d'éviter tout désagrément dans ce processus ? », cette question posée à la problématique nous a permis de pouvoir faire la rédaction du cahier des charges tout en captivant les besoins préliminaires et fonctionnalités du futur système.

Après avoir fixé le cahier des charges et les spécifications des fonctionnalités, nous avons procédé à l'analyse suivie par la conception du système informatique et cela selon la méthodologie 2TUP tout en utilisant UML comme langage de modélisation. Le présent travail met en évidence le déroulement et le développement de ces étapes.

Le Thème qui nous a été attribué est très instructif sur le plan pédagogique et très intéressant sur le plan technologique et développement. Nous en tant qu'étudiants en fin de cycle, il nous a permis de :

V' Accroitre nos connaissances.

V' Initier aux différentes technologies de développement (CSS, PHP, CMS, Framework, . . .)

V' Améliorer nos compétences dans la programmation web et dans la programmation orientée objet.

De ce fait, nous avons eu l'occasion au cours de ce projet d'utiliser un ensemble diversifié de logiciels en particulier, XAMPP comme serveur local, PHPStorm 2021.2.2 pour l'implémentation du site tout en utilisant le langage de balisage HTML version 5, le langage de stylisation CSS version 3 et le langage de programmation web dynamique PHP version 8.0.2, pour dessiner les diagrammes nous avons utilisés quelques AGLs dont Star UML version 5.0 et Visual Paradigm version 16.3.0.0.

110

Le but de ce projet était de publier les résultats des étudiants de l'UNIKAM, en assurant plusieurs avantages par rapport à la gestion manuelle des grilles de délibération et à la proclamation habituelle des résultats d'une session donnée à savoir :

- Gestion des paiements des étudiants, qui va faciliter la caisse d'effectuer différents

rapports et des opérations sur les paiements ;

- Contact des internautes ;

- Comptes des étudiants ;

- Recours des étudiants ;

- Les archives du jury pour chaque édition ;

- Publication des résultats des étudiants.

Le système réalisé (site web) permet d'assurer plusieurs fonctionnalités de base à

savoir l'authentification, la création du profil, l'affectation d'un secrétaire dans un jury

(création, modification et suppression), consultation des résultats, leurs statistiques, les recours

postés, l'impression des bons de paiements.

En effet, ce sont aux acteurs même d'assurer la vie de l'outil. Pour cela, ils doivent trouver un intérêt à l'utiliser, au cours de la démarche de conception j'ai toujours gardé cette question à l'esprit afin de créer une application répondant aux attentes tout en restant ouverte et transparente.

Alors, étant donné que nul ne peut se prétendre aborder un domaine dans son ensemble nous souhaiterons venir :

y' Améliorer les interfaces pour qu'elles répondent aux critères ergonomiques.

y' Etablir un système de sécurité des bases de données et limiter le nombre de tentatives d'authentification à l'application.

y' Héberger le site web sur un serveur.

En somme, VINET nous exhorte en disant : « Travaillons avec le même soin que si nos travaux et nous-même devions subsister toujours. Nous qui ne durons pas, faisons des oeuvres qui durent. »

Nous souhaitons que ce travail puisse servir comme un outil d'aide et de documentations pour les étudiants à l'avenir, et une base de travail pour les utilisateurs concernés.

111

BIBLIOGRAPHIE

[En ligne] www.coursgratuit.com/cours/php/php-4 .

[En ligne] https://www.journaldunet.fr.

[En ligne] https://fr.m.wikipedia.org/wiki.

[En ligne] https://saea.uottawa.ca.

[En ligne] https://dictionnaire.lerobert.com.

[En ligne] http://www.initiationreseau.com.

[En ligne] https://exob2b.com/plateformes-developpement-web/.

[En ligne] https://www.lebigdata.fr/base-de-donnees.

Bacco, Alexandre. 2013. Développez votre site web avec le framework Symfony2. Paris : Dassault Systems, 2013.

Blanc, Xavier et Mounier, Isabelle. 2007. UML2 pour les développeurs. Paris : Eyrolles, 2007. Bruno, Albert. 1972. Les méthodes de sciences sociales. Paris : Mont Chrétien, 1972.

Daily, KALOMBO NSHIMBA VIDJE. 2018-2019. Langage de Programmation Orienté Objet. s.l. : Cours Inédit, G3 Informatique, UNIKAM, 2018-2019.

Descartes, René. 1988. Discours de la méthode. Paris : j-VAZI, 1988.

Dubois, Thierry. 2011. Tout pour réussir son site web. Paris : Cours Inédit en ligne, 2011.

EBOUEYA, Michel. 2008. Analyse et Conception des Systèmes d'Information. Douala : Cours Inédit en ligne, 2008.

Gilles, Ferréol. 2000. La Dissertation Sociologique. Paris : ARMAND COLIN, 2000. GRAWITZ, PINTO &. 1972. Méthodes des Sciences Sociales. Paris : Eyrolles, 1972.

HIERDE, Laurent DEBRAUWER et Fien VAN DER. 2004. UML 2 Initiation, exemples et exercices corrigés. Paris : 2ième Edition, ENI Editions, 2004.

Joseph Gabay, David Gabay. 2008. UML 2 analyse et conception (mise en oeuvre guidée avec étude de cas). Paris : Dunod, 2008.

KABUTA, Elie Louis KABWE KIONDE. 2017-2018. cours de MAI 1. s.l. : Cours inédit, G2

INFO, UNIKAM, 2017-2018.

112

KAKONDJA, Bienvenu WILONDJA. 2017-2018. Mise en place d'un modèle d'application web pour la publication des résultats académiques dans les institutions d'enseignement supérieur via la téléphonie cellulaire. ISP/Bukavu : TFE Inédit, 2017-2018.

LEMANIQUE, Jean François PILLOU et Fabrice. 2012-2015. Tout sur les réseaux et internet. Paris : Dunod, 2012-2015.

Louis, KABWE KIONDE KABUTA Elie. 2017-2018. Cours d'Introduction aux Bases de Données. s.l. : Cours Inédit, G2 INFO/UNIKAM, 2017-2018.

M.NEMICHE. 2009-2010. Cours d'Analyse et Conception des Systèmes d'Information. Tunis : Cours inédit en ligne, 2009-2010.

MBALA, Patrick IZATINA. 2014-2015. Conception d'une application web pour la publication des résultats académiques dans un portail documentaire. ISTA/Kinshasa : TFE Inédit, 20142015.

MINGA, Bertin LOBO. 2020-2021. Cours de QSCSI. L2CSI, UNIKAM : Cours inédit, 2020-

2021.

P. Roques, F. Vallée. 2007. UML 2 en action de l'analyse des besoins à la conception. Paris : 4e édition, Eyrolles, 2007.

Pascal Roques. 2006. UML2 par la pratique (Etudes de cas et exercices corrigés). Paris : 5e édition, Eyrolles, 2006.

Pascal Roques, Franck Vallée. 2004. UML 2 en action, De l'analyse des besoins à la conception. Paris : Eyrolles, 2004.

Pascal, Roques. 2007. Les Cahiers du programmeurs UML2 modéliser une application web. Paris : 4e Edition, Eyrolles, 2007.

Pouliquen, Bruno. Cours de HTML. Université de Rennes1 : Cours Inédit.

Rémy Malgouyres. Programmation Web en PHP, Conception, Architectures et Développement de Web Services. Université Clermont Auvergne : Cours inédit.

Robert, MWEMBO LUMBILA NGOIE. 2013. Pour une pratique de la science, Prolégomènes à l'initiation à la recherche scientifique. Lubumbashi : Les moissonneurs, 2013.

Rongere, Pierrette. 1999. Manuel de sociologie générale. Lubumbashi : Africa, 1999.

Ssx'z, MATHX. 12 août 2019. Développez votre site web avec le framework Django. s.l. : inédit, 12 août 2019.

II.2. ETUDE PRELIMINAIRE 32

113

TABLE DES MATIERES

EPIGRAPHE I

IN MEMORIUM II

DEDICACE III

REMERCIEMENTS IV

LISTE DES ABREVIATIONS VI

TABLE DES ILLUSTRATIONS VII

INTRODUCTION GENERALE 1

1. GENERALITES 1

2. CHOIX ET INTERETS DU SUJET 2

2.1. CHOIX DU SUJET 2

2.2. INTERETS DU SUJET 2

3. ETAT DE LA QUESTION 3

4. PROBLEMATIQUE 6

5. HYPOTHESE 7

6. METHODE ET TECHNIQUES 8

6.1. METHODE 8

6.2. TECHNIQUES 9

7. DELIMITATION DU SUJET 10

8. SUBDIVISION DU TRAVAIL 10

CHAPITRE PREMIER : DEFINITION DES CONCEPTS ET CONSIDERATION THEORIQUE 12

I.1. INTRODUCTION 12

I.2. DEFINITION DES CONCEPTS 12

I.2.1. Les concepts clés 12

I.2.2. Les concepts de la technologie du Web 14

I.3. CONSIDERATIONS THEORIQUES ET METHODOLOGIQUES 20

I.3.1. PROCESSUS DE DEVELOPPEMENT LOGICIEL 20

I.3.2. LES LANGAGES DE MODELISATION 24

I.3.3. THEORIE SUR L'IMPLEMENTATION ET LA PROGRAMMATION 27

CONCLUSION PARTIELLE 31

CHAPITRE DEUXIEME : ETUDE PRELIMINAIRE ET CAPTURE DES BESOINS

FONCTIONNELS 32

II.1. INTRODUCTION 32

114

II.2.1. PRESENTATION DU PROJET 33

II.2.2. RECUEIL DES BESOINS FONCTIONNELS 33

II.2.3. CHOIX TECHNIQUES 35

II.2.4. RECUEIL DES BESOINS OPERATIONNELS 35

II.2.5. IDENTIFICATION DES ACTEURS 37

II.2. 6. IDENTIFICATION DES MESSAGES 37

II.2.7. MODELISATION DU CONTEXTE 39

II.3. CAPTURE DES BESOINS FONCTIONNELS 39

II.3.1. DETERMINATION DES CAS D'UTILISATION 40

II.3.2. DESCRIPTION PRELIMINAIRE DES CAS D'UTILISATION 42

II.3.3. DESCRIPTION DETAILLEE DES CAS D'UTILISATION 45

II.3.4. STRUCTURATION DES CAS D'UTILISATION DANS DES PACKAGES 66

I.3.5. IDENTIFICATION DES CLASSES CANDIDATES 68

II.3.6. DEFINITION DES ITERATIONS PAR CLASSEMENT DES CAS

D'UTILISATION 74

CONCLUSION PARTIELLE 76

CHAPITRE TROISIEME : ANALYSE ET CONCEPTION DU SYSTEME INFORMATIQUE 77

III.1. INTRODUCTION 77

III.2. ANALYSE 77

III.2.1. DECOUPAGE EN CATEGORIES 77

III.2.2. DEPENDANCES ENTRE CATEGORIES 78

III.2.3. DIAGRAMME DU PACKAGE D'ANALYSE 80

III.2.4. DEVELOPPEMENT DU MODELE STATIQUE 80

III.2.5. DEVELOPPEMENT DU MODELE DYNAMIQUE 82

III.3. CONCEPTION 93

III.3.1. ARCHITECTURE DU LOGICIEL 93

III.3.2. CONSTRUCTION DE LA BASE DE DONNEES RELATIONNELLE 97

CONCLUSION PARTIELLE 99

CHAPITRE QUATRIEME : IMPLEMENTATION 100

IV.1. INTRODUCTION 100

IV.2. PRESENTATION DES INTERFACES UTILISATEURS 101

CONCLUSION PARTIELLE 108

CONCLUSION GENERALE 109

BIBLIOGRAPHIE 111

115






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo