Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
I
EPIGRAPHE
La fraude est vilaine et donne un profit nul ; mentir ou se tuer,
c’est le même calcul.
Victor Hugo
P a g e | II
DEDICACE
Nous dédions ce travail au très cher frère NYIMILONGO MBOPE
Neville à qui nous rendons un grand hommage. Certes, La terre ne t’a pas
donné assez des temps pour t’exprimer, nous avons eu des bons
témoignages de ton passage. Qu’à cela ne tienne tu resteras à jamais graver
dans nos mémoire. Ainsi donc trouve ici l’expression de notre amour jamais
égalé.
Rest in peace bro, we will never forget you.
A notre grand-mère BAWOTA NKAY Géneviève pour son amour,
son éducation et surtout les valeurs humaines qu’elle a su imprimer à notre
être. Puisse DIEU lui ajouter encore un peu plus des jours sur cette terre.
Love you so much.
Makashi bope Gandhi
P a g e | III
REMERCIEMENTS
Le présent travail de fin d’étude, résultat d’une longue période de
peines, de sacrifices et d’abnégations, n’a pas été le fruit des efforts
personnels. Ici nous tenons ici à exprimer notre gratitude à tous ceux qui de
loin ou de près nous ont permis d’y parvenir.
Avant tous nos remerciements s’adressent à l’éternel DIEU tout
puissant. Lui qui n’a aucunement permis qu’un seul piège (quel que soit sa
provenance) puisse nous empêcher d’évoluer avec notre travail.
Nos remerciements s’adressent à tous les professeurs, chefs des
travaux et assistants de la faculté des sciences, département de
mathématique et informatique en particulier au CT Serge BUKASA et au
Professeur Saint-Jean DJUNGU qui malgré leurs innombrables
occupations ont toujours trouvé du temps pour nous orienter.
A toute ma famille, pour vos soutient tant matériel que moral. Trouvez
tous l’expression de ma reconnaissance.
Ami(e)s et camarades de classe pour toute entraide et bon moment
passés durant notre parcours académique. Je cite : MIKOMBE Mwamba
Jonathan, NZOLO Ngwe Aimé (mutu moko bien), LOWA Memba Michel,
CARZANIGA Kanku Junior, KASONGO Mumbulu Ignace et MUKALAY
KASANGULE Jean-Luc.
P a g e | IV
LISTE DES FIGURES
Figure 1-1 : Vu d’une toile………………………………………………………..……………………….....6
Figure 1-2 : Interaction entre client et server………………………………………………………...…...6 Figure 1-3 : Vu de comment s’effectue les échanges entre des clients et des serveurs……….....7 Figure 1-4 : Le système d’information soumis à deux natures de contraintes…………..……….12
Figure 1-5 : Le processus de développement en Y……………………………………………………..13
Figure 2-1 : Figure 2-1 : Tableau de modélisation du contexte………………………………………17 Figure 2-2 : Tableau identifiant les acteurs……………………………………………………….........18 Figure 2-3 : Diagramme de séquence : Créer compte abonné……………………………………….25 Figure 2-4 : Diagramme d’activité : créer compte abonné…………………………………………….26
Figure 2-5 : Diagramme de séquence : Gérer compte………………………………………………….27
Figure 2-6 : Diagramme d’activité : Gérer compte…………………………………………………...…28
Figure 2-7: Diagramme de séquence : Vérifier diplôme……………………………………………….29
Figure 2-8 : Diagramme d’activité : vérifier diplôme………………………………………………...…30
Figure 2-9 : Diagramme de séquence : Vérifier relevé…………………………………………………31
Figure 2-10 : Diagramme d’activité : vérifier relevé……………………………………………………32
Figure 2-11 : Diagramme de séquence : Interagir avec le service client………………………...…33
Figure 2-12 : Diagramme d’activité : Interagir avec le service client…………………………….....34
Figure 2-13 : Organisation des cas d’utilisations………………………………………..…………….35
Figure2-14 : Identification des classes candidates…………………………………………………....36
Figure 3-1 : Base de données composée de 4 tables………………………………………………37
Figure 3-2 : Table institution……………………………………………………………………………38
Figure 3-3 : Table palmarès. Qui stock les relevés des étudiants………………………………38
Figure 3-4 : Table diplômes. Qui stock les diplômes……………………………………………….39
Figure 3-5 : code traitant le fichier excel………………………………………………………………40
Figure 3-6 : Code de recherche du diplôme ou relevé……………………………………………..42
Figure 3-7 : Aperçu du site au point d’effectuer une rechercher…………………………………43
Figure 3-8 : Aperçu du résultat de la recherche d’un relevé des côtes…………………………43
Figure 3-9 : Aperçu du résultat de la recherche d’un diplôme…………………………………...44
P a g e | 1
INTRODUCTION GENERALE
1. CHOIX ET INTERET DU SUJET
Choix
Avant d’aborder le vif du sujet, il est nécessaire de spécifier la motivation du
choix de ce sujet puis de son intérêt dans la société.
Compte tenu de la monté en fusé de la nouvelle technologie de l’information
et de la communication qui permet aujourd’hui de résoudre plusieurs
problèmes qui rode autours de nous parmi lesquels figure la fraude et
falsification des diplômes et des relevés des côtes. Nous nous sommes dit
que le moment est propice pour éradiquer ce problème du milieu de nous.
Intérêt
Le travail que nous avons l’honneur de réaliser apportera un soulagement
dans la vérification des diplômes et relevés des côtes en terme de :
1. De temps : celui qui voudra vérifier si le document (diplôme, relevé des
côtes…) a été obtenu ne mettra plus beaucoup des temps comme
avant.
2. Coût : le coût sera réduit.
3. Précision : la garantie de connaitre la qualité de vos employés (pour
les entreprises).
4. Etc.
2. PROBLEMATIQUE ET HYPOTHESE
Problématique
Du temps des belges dans notre pays (époque coloniale. 50 ans passée) il n’y
avait pas assez d’instituts supérieurs ou des universités qu’il y en a
aujourd’hui. Ce qui faisais que lors des inscriptions, l’institut ou l’université
concernée pouvait établir une commission qui devra passer dans les 2 ou 3
institutions qui existaient sur place et téléphoner celles d’ailleurs pour
vérifier si les étudiant qui demandent l’inscription ont été régulièrement
inscrit d’où ils proviennent et qu’ils peuvent être admit.
De nos jours cette stratégie ne marche pas car :
le nombre d’étudiants est devenu plus grand par rapport à celui qu’on
avait à l’époque.
les institutions d’enseignement supérieurs et université sont devenues
innombrable au point où certaines ne sont même pas reconnues pas
l’Etat.
P a g e | 2
Pour les entreprises on n’a pas une nette précision sur la qualité du
personnel que l’on recrute.
Mais si aujourd’hui une institution ou une entreprise tient vraiment à
vérifier si la personne qui détient le document (diplôme ou relevé des côtes)
en est réellement le détenteur, il faudra donc :
1. Fouiller les palmarès de chacune des institutions. Un travail qui prend
beaucoup des temps; surtout lorsqu’après avoir tout fouillé vous ne
trouvez rien; ce travail devient vain. Et si on a plusieurs cas à traiter
dans plusieurs institutions il devient fastidieux.
2. Avoir une quantité suffisante des ressources humaines et financière
pour arriver à les rémunérés.
3. Etc.
Que faire pour mettre fin à ce fléau qui gangrène notre société.
Hypothèses
Pour répondre aux quelques question que nous nous sommes posé dans la
problématique :
Nous pensons que la conception et la réalisation d’un site web
contenant les palmarès des différentes institutions sera une solution
face à ce problème. Ce que à l’aide d’un identifiant quelconque nous
puissions avoir les informations relative à la recherche.
3. METHODE ET TECHNIQUE
Méthode
Plus d’une définition ont été attribuées à la méthode, quant à
nous, nous retenons celle qui semble plus explicite proposée par GRAWITZ
qui est considérée comme un ensemble d’opérations intellectuelles par
lesquelles une discipline cherche à étudier les vérités qu’elle poursuit,
démontré et vérifier.
Voici les différentes étapes par lesquelles nous allons passer pour arriver à
réaliser notre projet. Nous allons passer par :
1. L’étude préliminaire du projet tout en nous servant des techniques de
documentation, d’interview et de discussion.
2. L’analyse du projet à l’aide de la méthode UP.
3. La création des palmarès arbitraires afin de passer à la conception de
notre (ou nos) base(s) de données.
P a g e | 3
4. La programmation ou l’implémentation
5. le test et la maintenance.
4. Etat de l’art
Nous n’avons pas été innovateurs dans ce domaine car c’est en
parcourant un site (www.verifdiploma.com) sur le web que nous nous
sommes rendu compte que ce dernier permettait la vérification des
diplôme, des cv… mais en France.
Verifdiploma est service mis en place en partenariat avec les grandes
écoles et les universités. Dédié au professionnels du recrutement,
verifdiploma permet de vérifier les diplômes obtenus par vos candidats en
France et à l’international. Le vérificateur en ligne permet de sécuriser vos
recrutements jeunes diplômés ou expérimentés tout en valorisant notre
marque employeur.1
Il existe plusieurs site web qui font la vérification de ces différents
documents, nous avons : www.control-cv.com, www.tripalium.com,
www.verif-cv.com pour ne citer que ceci.
Nous concevrons aussi la même chose mais cette fois ci pour vérifier
l’authenticité des diplômes obtenus dans notre pays (ou dans nos
universités).
5. OUTILS ET EQUIPEMENTS UTILISES
Pour parvenir à la réalisation de notre projet nous utiliserons un Editeur de
texte ‘SublimeText’ ; différent langage dont :
Html
CSS
PHP
JavaScript
Et un Système Gestion de Base Donnée MySQL.
6. DELIMITATION DU SUJET
Tout travail scientifique doit être limité dans le temps et dans l’espace pour
bien cerner le contour du sujet et faciliter notre démarche scientifique.
Délimitation dans le temps
En ce qui concerne la délimitation dans le temps, notre travail couvre
l’année académique 2017-2018.
1 www.verifdiploma.com
P a g e | 4
7. SUBDIVISION DU TRAVAIL
Mis à part l’introduction et la conclusion, nous avons subdivisé notre travail
en trois parties qui sont :
Chapitre 1 : Le cadre théorique
Chapitre 2 : Développement du projet
Chapitre 3 : Implémentation
P a g e | 5
CHAPITRE I: DEFINITION DES CONCEPTS
THEORIQUES
1. Introduction à Internet et le web 1.1. Internet
L’internet (international network) est le réseau mondial, c’est-à-dire le
réseau des réseaux. Il est constitué des nombreux réseaux distincts et
interconnectés appartenant à des organisations commerciales, académiques
et gouvernementales, ainsi que de fournisseurs de services internet (FSI ou
ISP, internet service provider)2 .
Internet propose trois types de services fondamentaux :
le courrier électronique (e-mail) ; le Web (les pages avec liens et contenus multimédia de ses sites Web) ;
l'échange de fichiers par FTP (File Transfer Protocol).
Le réseau Internet sert également, et de plus en plus, aux communications téléphoniques et à la transmission de vidéos et d'audio en direct
(ou streaming), c'est-à-dire à la manière d'un téléviseur ou d'un récepteur radio.
Les débuts d’internet remontent à la fin des années 1960 et au début des années 1970, alors qu’ils étaient au stade de projet expérimental du
ministère de la défense américain, nommé ARPANET (Advanced Research Projects Agency NETwork) pour tenter de mettre en place des réseaux
capables de survivre à une destruction partielle due, à une attaque nucléaire (selon le contexte géopolitique de l’époque).
Tout au long du processus de développement de cette technologie, les militaires ont forgé des liens très étroits avec les grandes entreprises et les
universités. Une des conséquences est que la responsabilité de la continuité de la recherche a été transférée à la NSF (National Science Foundation).
C'est dans les années 1990 qu'Internet s'est imposé au grand public grâce à
un système de consultation aisé : le World Wide Web (WWW).
1.2. Web
En anglais « world wide web » et en français « toile mondiale » ou plus simplement le « web » n’est en somme qu’un moyen simple de cliquer pour
explorer le volume gigantesque des pages d’informations situées sur internet.
2 Saint-Jean DUNGU, Outils et langages du web n.0, MEDIASPAUL, 2013, p.9
P a g e | 6
C’est l’un des services internet les plus intéressants et les plus
passionnants, de sorte que certains tendent à le confondre avec internet3.
Figure 1-1 : Vu d’une toile.
Les premiers composants du web ont été conçus en octobre 1990 par Tim
Beners-Lee et Robert Cailliau pour le Centre Européen de Recherche Nucléaire (CERN en sigle) en suisse.
2. Composition et Fonctionnement du web
2.1. Composition
Le web est composé de plusieurs éléments dont :
Les ordinateurs qui se connectent au Web sont appelés des clients et des serveurs. Voici un diagramme simplifié qui illustre comment ces éléments
interagissent :
Figure 1-2 : Interaction entre client et server.
Les clients correspondent aux appareils des utilisateurs connectés sur Internet (par exemple, votre ordinateur connecté par Wi-Fi ou votre
téléphone connecté sur le réseau mobile) et aux logiciels d'accès au web (par exemple, les navigateurs comme Firefox ou Chrome).
3 Saint-Jean DUNGU, Outils et langages du web n.0, MEDIASPAUL, 2013, p.9 et 10
P a g e | 7
Les serveurs sont des ordinateurs qui stockent des pages web, des
sites ou des applications. Lorsqu'un appareil « client » souhaite accéder à une page web, une copie de la page est téléchargée depuis le
serveur vers le client, la machine utilisée affiche alors le contenu dans le navigateur web de l'utilisateur.
Figure 1-3 : Vu de comment s’effectue les échanges entre des clients et des serveurs.
Le client et le serveur ne sont pas les seuls éléments qui interviennent. Il y a
beaucoup d'autres composants que nous allons décrire dans la suite de ce chapitre.
Faisons un parallèle entre le Web et une rue. D'un côté de la rue, il y a une maison qui correspond au client. De l'autre côté, un magasin correspondant
au serveur, et dans lequel vous souhaitez acheter quelque chose4.
En plus du client et du serveur, nous devons aussi mentionner :
la connexion Internet : elle permet l'envoi et la réception de données sur le web. Dans notre comparaison, elle correspond à la rue entre la
maison et le magasin. TCP/IP : Transmission Control Protocol / Internet Protocol (en français :
protocole de contrôle de transmission et protocole Internet) sont des
protocoles définissant comment les données voyagent sur le web. C'est comme les mécanismes de transport qui vous permettent de passer
une commande, d'aller au magasin et d'acheter vos marchandises. Dans notre exemple, ce serait une voiture ou un vélo (ou quoi que ce soit d'autre que vous trouveriez).
DNS : Domain Name System (serveur de noms de domaines) est une
sorte d'annuaire pour sites web. Lorsque vous saisissez une adresse
dans le navigateur, ce dernier consulte le DNS pour trouver l'adresse réelle du site web avant de la récupérer. Le navigateur a besoin de
4 https://developer.mozilla.org/fr
P a g e | 8
savoir sur quel serveur le site web est situé pour pouvoir envoyer des
requêtes HTTP au bon endroit (voir ci-après). Cela correspond à la recherche de l'adresse du magasin pour pouvoir vous y rendre.
HTTP : HyperText Transfer Protocol (protocole de transfert hypertexte)
est un protocole d'application définissant le langage de communication entre les clients et les serveurs. C'est la langue utilisée pour
commander vos produits.
2.2. Fonctionnement
Lorsque vous saisissez une adresse web dans votre navigateur (dans notre comparaison, c'est comme aller au magasin) :
1. le navigateur demande au DNS l'adresse réelle du serveur contenant le
site web (vous trouvez l'adresse du magasin). 2. le navigateur envoie une requête HTTP au serveur pour lui demander
d'envoyer une copie du site web au client (vous allez au magasin et
vous passez commande). Ce message, et les autres données envoyées entre le client et le serveur, sont échangés par l'intermédiaire de la
connexion internet en utilisant TCP/IP. 3. si le serveur accepte la requête émise par le client, le serveur envoie un
message « 200 OK » au client qui signifie : « Pas de problème, tu peux
consulter ce site web, le voici ». Ensuite le serveur commence à envoyer les fichiers du site web au navigateur sous forme d'une série
de petits morceaux nommés "paquet" (le magasin vous livre les produits et vous les ramenez chez vous).
4. le navigateur assemble les différents morceaux pour recomposer le site
web en entier puis l'affiche sur votre écran (les produits sont à votre porte — des nouveaux trucs tout neufs, génial !)5.
3. Différence entre site web statique et site web dynamique
Site statique : les pages du site ne sont pas modifiables par des
utilisateurs. Le site est donc rempli et mis à jour par l'administrateur qui le fait depuis son poste de travail. Une fois le site mis à jour sur l'ordinateur de l'administrateur, celui-ci devra être envoyé sur le site
via FTP. Le site est dit statique car les pages HTML qui le compose sont toujours identiques entre deux visites sans mise à jour. Le serveur donc n'a pas besoin de éléments de Scripting.
Site dynamique : les pages du site qui le compose peuvent être
modifiables par les visiteurs. De plus, entre deux visites sur un même site, le contenu de la page peut être différent sans action de l'administrateur du site Internet. Les grandes applications de ce type
de site sont : les forums, les Wiki (Wikipédia étant le plus grand représentant du genre) et tous les sites communautaires (Facebook,
5 https://developer.mozilla.org/fr
P a g e | 9
Twitter, hi5, etc.). Le serveur qui fait fonctionner le site utilise une
technologie de Scripting (comme PHP, Ruby, Python ou Perl) ainsi qu'une base de données comme MySQL.
4. UML ET 2TUP
4.1. Présentation du langage UML 4.1.1. Définition
UML se définit comme un langage de modélisation graphique et textuel
destiné à comprendre et décrire des besoins, spécifier et documenter des
systèmes, esquisser des architectures logicielles, concevoir des solutions et
communiquer des points de vue6
UML n’est pas une méthode (une description normative des étapes de
la modélisation) mais plutôt un langage graphique qui permet de représenter
et de communiquer les divers aspects d’un système d’information, aux
graphiques sont bien sur associés des textes qui expliquent leur contenu.
UML est donc un métalangage, car il fournit les éléments permettant de
construire le modèle qui lui sera le langage du projet.
4.1.2. Présentation des diagrammes UML
Le langage de modélisation UML dans sa version 2 propose treize
diagrammes représentant des vues distinctes pour représenter le système
d’information. Regroupés dans deux grands groupes, ces diagrammes
peuvent être utilisés dans la description d’un système.
Les diagrammes structurels ou diagrammes statiques
Nombre de six, ces diagrammes permettent de représenter
l’aspect statique d’un système (classes, objets, composants…).
Diagramme de classes : il est considéré comme étant le diagramme le
plus important de la modélisation orientée objet, il montre la structure
interne du système et permet de fournir une représentation abstraite
des objets du système qui vont interagir pour réaliser les cas
d’utilisation. Il montre en outre les briques de base statique qui
sont : les classes, les associations entre les classes, les interfaces, les
attributs, les opérations ou les méthodes, généralisations etc.
Diagramme d’objet : le diagramme d’objets représente les objets
(instances de classes) et leurs liens (instance de relations) pour donner
6 Pascal ROQUES, UML 2 Modéliser une application web, 4ème Édition, Eyrolles, Paris, 2008, p.4
P a g e | 10
une vue figée du système à un instant. Le diagramme de classes
modélise les règles et le diagramme d’objet modélise des faits.
Diagramme de composants : il décrit l’organisation du système du
point de vue des éléments logiciels comme les modules (paquetages,
fichiers sources, bibliothèques…), des données (fichiers, bases de
données) ou encore d’éléments de configuration. Ce diagramme permet
également de mettre en évidence les dépendances entre les
composants.
Diagramme de déploiement : c’est une vue statique qui sert à
représenter l’utilisation de l’infrastructure physique par le système et
la manière dont les composants du système sont repartis ainsi que les
relations entre eux.
Diagramme de paquetage : ce diagramme est une représentation du
système structuré en package7. Chaque représente un ensemble
homogène 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.
Les diagrammes de comportement ou diagrammes dynamiques
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 diagrammes sont proposés par UML pour la
représentation du modèle dynamique.
Diagramme de cas d’utilisation : le diagramme de cas d’utilisation
représente la structure des grandes fonctionnalités nécessaires aux
utilisateurs du système. c’est le premier diagramme du modèle UML,
celui où s’assure la relation entre l’utilisateur et les objets que système
met en œuvre.
Diagramme d’états-transitions : Il décrit le comportement interne d’un
objet à l’aide d’un automate à états finis. Le diagramme d’états-
transitions représente les séquences possibles d’états et d’action qu’un
objet (instance de classe) peut traiter au cours de son cycle de vie en
7 En génie logiciel le terme package ou paquetage ou encore paquet est une archive comprenant les fichiers
informatiques, les informations et procédures nécessaires à l’installation d’un logiciel sur un système
d’exploitation. Il désigne également, dans la terminologie de certains langages de programmation le nom
donné aux bibliothèques.
P a g e | 11
réaction aux évènements discrets. Habituellement il spécifie le
comportement d’un objet, mais parfois aussi le comportement interne
d’autres éléments tels que les cas d’utilisation, les sous-systèmes, les
méthodes.
Diagramme d’activité : Le diagramme d’activité permet de mettre
l’emphase sur le traitement et est donc particulièrement adapté à la
modélisation du cheminement de flots de contrôle et de flots de
données. Il permet ainsi de représenter graphiquement le
comportement d’une méthode ou d’un cas d’utilisation. Le diagramme
d’activité et relativement proche du diagramme d’états-transitions
dans sa présentation mais s’en diffère sensiblement dans son
interprétation. En effet, le diagramme d’états-transitions est orienté
vers des systèmes réactifs, mais il ne donne pas une vision
satisfaisante d’un traitement faisant intervenir plusieurs classes et
doit être complété, par exemple, par un diagramme de séquence. Au
contraire, le diagramme d’activité n’est pas spécifiquement rattaché à
une classe particulière. On peut attacher un diagramme d’activité à
n’importe quel élément de modélisation afin de visualiser, spécifier,
construire ou documenter le comportement de cet élément.
Diagramme de séquence : ce diagramme permet de décrire la
succession chronologique des opérations réalisées par un acteur. Il
indique les objets que l’acteur va manipuler et les opérations qui font
passer d’un objet à un autre.
Diagramme de communication : ce diagramme est une représentation
des scénarios des cas d’utilisation qui met plus l’accent sur les objets
et les messages.
Diagramme d’interaction : il 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 : il fusionne les diagrammes d’états et de
séquence pour montrer l’évolution de l’état d’un objet au cours du
temps.
4.2. Le processus 2TUP
2TUP signifie «2 Track Unified Process». C’est un processus UP qui répond
aux caractéristiques que nous venons de citer. 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. «2 Track » signifie
P a g e | 12
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 informatique8.
Figure 1-4 : Le système d’information soumis à deux natures de contraintes
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. Pour illustrer
cet axiome, prenons les trois exemples suivants :
1. une agence de tourisme passe des accords avec une compagnie
aérienne de sorte que le calcul des commissions change. En
l’occurrence, les résultats issus de la branche fonctionnelle qui
évoluent pour prendre en compte la nouvelle spécification ;
2. cette même entreprise décide d’ouvrir la prise de commande sur le
Web. Si rien ne change fonctionnellement, en revanche, l’architecture
technique du système évolue ;
3. cette entreprise décide finalement de partager son catalogue de
prestations avec les vols de la compagnie aérienne. D’une part, la
fusion des deux sources d’informations imposera une évolution de la
branche fonctionnelle, d’autre part, les moyens techniques de
synchronisation des deux systèmes conduiront à étoffer l’architecture
technique du système. L’étude de ces évolutions pourra être menée
indépendamment, suivant les deux branches du 2TUP.
À l’issue des évolutions du modèle fonctionnel et de l’architecture technique,
la réalisation du système consiste à fusionner les résultats des deux
branches. Cette fusion conduit à l’obtention d’un processus de
développement en forme de Y, comme illustré par la figure suivante :
8 Pascal Roques et Franck vallée, UML 2 en action : De l’analyse à la conception, 4e édition, Eyrolles, p.13
P a g e | 13
Figure 1-5 : Le processus de développement en Y
La branche gauche (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’œuvre 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ère9.
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
9 Pascal Roques et Franck vallée, UML 2 en action : De l’analyse à la conception, 4e édition, Eyrolles, p.14
P a g e | 14
réussite est telle qu’il est conseillé de réaliser un prototype pour assurer sa
validité10.
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 ;
L’étape de recette, qui consiste enfin à valider les fonctions du système
développé.
L’ensemble de ces étapes de développement sera illustré tout au long de cet
ouvrage par la mise en application du processus 2TUP à l’étude de notre
sujet11.
10 Pascal Roques et Franck vallée, UML 2 en action : De l’analyse à la conception, 4e édition, Eyrolles, p.15 11 Pascal Roques et Franck vallée, UML 2 en action : De l’analyse à la conception, 4e édition, Eyrolles, p.15
P a g e | 15
CHAPITRE II : CONCEPTION ET ANALYSE DU
SYSTEME
Pour parvenir à la réalisation de notre site web nous devons passer par
cette étape d’analyse et conception du système qui n’est pas à négligée ; pour
ce faire, nous utiliserons dans ce chapitre la méthode 2TUP pour résoudre
notre problème tout en passant par : l’étude préliminaire, la capture des
besoins fonctionnels, l’analyse, conception et implémentation.
1. ETUDE PRELIMINAIRE
L’étude préliminaire est la toute première étape du processus 2TUP. Elle
consiste à effectuer un premier repartage des besoins fonctionnels et
opérationnels, en utilisant principalement le texte, ou diagramme très
simple. Elle prépare les activités plus formelles de capture des besoins
fonctionnels et de capture techniques.
1.1. Présentation du projet
Le projet pour lequel nous avons l’honneur de vous présenter consiste à la
conception et la réalisation d’un site web de vérification des diplômes et des
relevés des côtes. Ledit site doit remédier au problème de fraude et
falsification des documents précités. Il doit permettre aux internautes
d’introduire le nom d’un étudiant et de voir si effectivement le diplôme qu’il
détient est bien à lui ou encore livré par le service habile.
1.2. Choix technique
Afin d’aboutir à la bonne réalisation de notre projet nous avons choisi les
techniques suivantes :
La modélisation avec UML
Adoption d’une architecture à 2-tiers avec SGBD
Un SGBD MySQL
Utilisation des langages Html, PHP, CSS, JavaScript.
Utilisation de SublimeText comme éditeur de texte.
1.3. Recueil des besoins fonctionnels
A ce niveau il nous a fallu un peu plus des recherches pour parvenir à
identifier au mieux les besoins de notre site web à fin de répondre aux
attentes des utilisateurs.
Nous somme aller voir le secrétaire du jury de notre promotion, de qui nous
avons eu certaines informations notamment en ce qui concerne les grilles de
délibérations, le contenu des relevés des côtes, même aussi en ce qui
concerne le diplôme.
P a g e | 16
Nous avons nous même évolués à l’université et nous connaissons comment
le système fonctionne. Ce qui fait que nous avions déjà d’autres informations
avec nous.
Les informations acquise à l’issu de nos recherche nous ont mené à
l’établissement du cahier de charge suivant :
Le site que nous allons concevoir doit permettre :
A un utilisateur de créer un compte.
D’introduire un mot clé représentant le nom d’un étudiant et vérifier
soit un diplôme soit relevé des côtes.
Des interactions entre les utilisateurs et les administrateurs du site.
1.4. Identification des acteurs
Avant de tout aborder nous voulons de prime à bord donner
d’éclaircissement sur ce que c’est un acteur.
Définition : Un acteur représente l’abstraction d’un rôle joué par des entités
externes (utilisateur, dispositif matériel ou autre système) qui interagissent
directement avec le système étudié.
Un acteur peut consulter et/ou modifier directement l’état du système, en
émettant et/ou en recevant des messages éventuellement porteurs de
données.
Pour ce qui nous concerne nous avons pu identifier les acteurs du système
suivant :
Internaute : à c niveau nous signalons que nous avons 2 types
d’internautes. Un internaute simple (que nous appelons visiteur) et
autre que nous appelons abonné.
- Visiteur : le visiteur n’a pas des accès plusieurs fonctionnalités de
notre système si ce n’est que consulter le site, le parcourir de page en
page.
- Abonné : l’abonné quant à lui peut effectuer un recherche sur un
diplôme, sur un relevé des notes d’un étudiant bien-sûr. Il peut interagir
avec le service client et plus loin imprimer les informations trouvées d’un
étudiant.
Le webmaster : maintient le site et met à jour les informations ou
données du site.
Le service client : interagir avec les internautes, surtout répondre à
leurs préoccupations. Il peut aussi communiquer avec le webmaster.
P a g e | 17
1.5. Identification des messages
Commençons par comprendre ce que c’est un message à fin de bien les
identifier.
Définition : Un message représente la spécification d’une communication
unidirectionnelle entre 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 et un événement de réception.
A ce niveau nous aimerions énumérer les différents messages échangés entre
le système et l’extérieur.
Le système émet les messages suivants :
Les informations ou identités d’un internaute.
La grille des étudiants ayant satisfaits dans une promotion à la fin
d’une année académique.
La grille des étudiants ayant obtenus leurs diplômes à la fin d’un
cycle.
Le système reçoit les messages suivants :
Création, modification et suppression des informations concernant un
internaute abonné.
Création, modification et suppression d’un relevé de côtes.
Création, modification et suppression d’un diplôme de fin de cycle.
1.6. Modélisation du contexte
Utilisateurs finaux
Description des besoins fonctionnels
visiteur
Le site doit permettre au visiteur de :
Consulter le site en sa globalité.
Le parcourir de page en page.
Abonné
Le site doit permettre à l’abonné de :
S’authentifier.
Créer son compte.
Sauvegarder ses documents.
Chercher un diplôme.
Chercher un relevé des côtes.
Communiquer avec le service client.
Le site doit permettre au service client de :
S’authentifier.
Recevoir les notifications des
P a g e | 18
Service client
préoccupations posées par les abonnés.
Répondre aux préoccupations des abonnés.
Communiquer aussi avec le webmaster.
Le webmaster
Le site doit permettre au webmaster de :
S’authentifier.
Donner le droit d’accès au service client.
Optimiser la base des données.
Figure 2-1 : Tableau de modélisation du contexte
2. CAPTURE DES BESOINS FONCTIONNELS
2.1. Identification des cas d’utilisation
Définition : 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 modélise un service rendu par le système. Il exprime
les interactions acteurs/système et apporte une valeur ajoutée « notable » à
l’acteur concerné.
Cas d’utilisation Acteur principal, acteurs secondaires
Messages émis et reçus par les acteurs
Consulter le site
Visiteur
Reçoit : Interface site.
Créer un compte
abonné
Visiteur
Emet : créer compte,
Vérifier le diplôme
Abonné
Emet : Rechercher le diplôme, Reçoit: Information sur le diplôme
Vérifier le relevé
Abonné
Emet : Rechercher le diplôme,
Reçoit: Information sur le diplôme
Interagir avec le
S.C
Service client,
abonné
Emet : créer message,
Reçoit : notification du message
Maintenir
Webmaster
Emet : Modifier le site, mettre à jour la BDD.
Reçoit : site maintenu.
Figure 2-2 : Tableau identifiant les acteurs
P a g e | 19
2.2. Description préliminaire des cas d’utilisations
Voici la description préliminaire des cas d’utilisation énumères ci-haut :
Consulter le site :
Intention : consulter le site
Actions : naviguer sur le site, le parcourir de page en page.
Créer un compte abonné :
Intention : créer son espace sur le site
Actions : créer un espace membre.
Vérifier le diplôme :
Intention : vérifier un diplôme sur le site
Actions : lancer la recherche du diplôme sur base d’un mot clé.
Vérifier le relevé :
Intention : vérifier un relevé des côtes sur le site.
Actions : lancer la recherche du relevé des côtes sur base d’un mot clé.
Interagir avec le S.C :
Intention : Interagir avec le service client.
Actions : créer un nouveau message.
Maintenir :
Intention : Faire des modifications.
Actions : mettre à jour.
2.3. Description détaillée des cas d’utilisations
Nous allons décrire de la façon suivante nos cas d’utilisations :
Un sommaire d’identification : va contenir le titre, but, résumé,
acteurs...du cas d’utilisation.
Une description des enchaînements : décrit le scénario nominal, les
enchaînements alternatifs, les enchaînements d’exception, mais aussi
les préconditions, et les post-conditions.
Les diagrammes (optionnelle) : Plusieurs diagrammes vont apparaitre
(mais pas nécessairement) pour apporter une compréhension additive
au cas d’utilisation.
P a g e | 20
Sommaire d’identification
Titre : consulter le site
But : Permettre à tout internaute de s’imprégner des fonctionnalités du site
Résumé :
Acteur : l’internaute visiteur
Description des enchainements
Sommaire d’identification
Titre : créer un compte abonné
But : Ce cas d’utilisation permettra que l’internaute soit reconnu par le
système afin d’accéder à certaines fonctionnalités.
Résumé :
Acteur principal : l’internaute visiteur
Description des enchainements
a. Précondition :
Néant
b. Post condition :
Néant
c. Scenario nominal
1. L’internaute introduit les informations suivantes : nom de
l’institution, le logo, le mot de passe. Et les enregistre.
2. Si les données introduites sont correctes c’est-à-dire vérifier si les
caractères sont introduits dans les champs appropriés, les chiffres
et la date par exemple. Le système conserve et lui envoie un
message de confirmation.
d. Alternatives
1. a. L’internaute ne peut livrer ses informations ; exécuter
[Exception1].
2. Si les données ne sont pas introduites dans les champs appropriés;
exécuter [Exception1].
P a g e | 21
e. Scenario d’exceptions
[Exception1 : le système retourne à l’étape1 du scénario nominal]
f. Diagramme de séquence : Créer compte abonné
Figure 2-3 : Diagramme de séquence : Créer compte abonné
g. Diagramme d’activité : créer compte abonné
Figure 2-4 : Diagramme d’activité : créer compte abonné
P a g e | 22
Sommaire d’identification
Titre : gérer compte
But : Permettre à l’internaute non seulement d’ajouter des nouvelles
informations à son profil mais aussi de le modifier.
Résumé :
Acteur principal : l’internaute abonné
Description des enchainements
a. Précondition :
L’internaute s’est authentifié.
b. Post condition :
Le profil de l’internaute est mis à jour.
c. Scenario nominal :
1. L’internaute sollicite de changer son profil et introduit des
nouvelles informations qui lui sont demandé par le système.
2. Le système vérifie si chaque donnée est dans son champ approprié.
3. Le système actualise son profil et le lui affiche.
d. Alternatives
1. L’internaute n’introduit rien, le système rentre à la page d’accueil.
2. Si les données ne sont pas dans les champs appropriés, exécuter
[exception1].
e. Scenario d’exceptions
[exception1] : le système rentre à la page d’inscription.
f. Diagramme de séquence : Gérer compte
Figure 2-5 : Diagramme de séquence : Gérer compte
P a g e | 23
g. Diagramme d’activité : Gérer compte
Figure 2-6 : Diagramme d’activité : Gérer compte
Sommaire d’identification
Titre : vérifier le diplôme
But : Permettre à l’internaute de vérifier au moyen d’une clé que les
informations se trouvant sur le diplôme sont exactes.
Résumé :
Acteur principal : l’internaute abonné
Description des enchainements
a. Précondition :
L’abonné s’est authentifié
b. Post condition :
L’internaute a trouvé les informations relatives à sa recherche.
c. Scénario nominal
1. A partir d’un mot-clé, l’internaute lance la vérification d’un diplôme.
2. Le système lui affiche sur une page les informations liées à sa
recherche.
P a g e | 24
3. L’internaute imprime (optionnel).
d. Alternative
1. L’internaute choisi d’effectuer une recherche détaillé. Pour y
parvenir le système lui propose des pages telle que : Institution,
Palmarès, diplôme et relevé.
2. Le système n’a pas trouvé des informations par rapport à la
recherche. Exécuter [Exception1].
3. Le système propose à l’internaute la possibilité de rentrer à l’étape1
du scénario nominal.
e. Scénario des exceptions
[Exception1 : le système affiche un message d’échec]
f. Diagramme de séquence : Vérifier diplôme
Figure 2-7 : Diagramme de séquence : Vérifier diplôme
P a g e | 25
g. Diagramme d’activité : vérifier diplôme
Figure 2-8 : Diagramme d’activité : vérifier diplôme
Sommaire d’identification
Titre : vérifier le relevé
But : Permettre à l’internaute de vérifier au moyen d’une clé que les
informations se trouvant sur le relevé sont exactes.
Résumé :
Acteur principal : l’internaute abonné
Description des enchainements
a. Précondition :
L’abonné s’est authentifié
b. Post condition :
L’internaute a trouvé les informations relatives à sa recherche.
c. Scénario nominal
P a g e | 26
1. A partir d’un mot-clé, l’internaute lance la vérification.
2. Le système lui affiche sur une page les informations liées à sa
recherche.
3. L’internaute imprime (optionnel).
d. Alternative
4. L’internaute choisi d’effectuer une vérification détaillé. Pour y
parvenir le système lui propose des pages telle que : Institution,
Palmarès, relevé des côtes.
5. Le système n’a pas trouvé des informations par rapport à la
vérification. Exécuter [Exception1].
6. Le système propose à l’internaute la possibilité de rentrer à l’étape1
du scénario nominal.
e. Scénario des exceptions
[Exception1 : le système affiche un message d’échec]
f. Diagramme de séquence : Vérifier relevé
Figure 2-9 : Diagramme de séquence : Vérifier relevé
P a g e | 27
g. Diagramme d’activité : vérifier relevé
Figure 2-10 : Diagramme d’activité : vérifier relevé
Sommaire d’identification
Titre : Interagir avec les internautes
But : Résoudre certaines difficultés des internautes et les orientés.
Résumé :
Acteur principal : service client.
Description des enchainements
a. Précondition :
L’internaute s’est authentifié
b. Post condition :
L’internaute trouve des solutions à ses préoccupations
c. Scénario nominal
P a g e | 28
1. L’internaute accède à la foire aux questions et post ses
préoccupations au travers d’un formulaire.
2. Le service client reçoit une notification et répond aux
préoccupations de l’internaute.
d. Alternatives
e. Diagramme de séquence : Interagir avec le service client
Figure 2-11 : Diagramme de séquence : Interagir avec le service client
P a g e | 29
a. Diagramme d’activité : Interagir avec le service client
Figure 2-12 : Diagramme d’activité : Interagir avec le service client
Sommaire d’identification
Titre : Maintenir le site
But : Rendre le site plus satisfaisant aux internautes et améliorer son
fonctionnement.
Résumé :
Acteur principal : le webmaster
Description des enchainements
a. Précondition :
Le webmaster s’est authentifié
b. Post condition
Le site est maintenu
c. Scenario nominal
P a g e | 30
2.4. Organisation des cas d’utilisations
Cette phase permet de structurer les cas d’utilisations en groupe fortement
cohérent, ceci afin de préparer le terrain pour la prochaine phase qui est le
«découpage en catégorie ».
N.B : comme pour notre travail nous n’avons pas assez des cas d’utilisations
pour les regrouper, nous allons nous passer de cette phase et reprendre nos
même cas d’utilisation. Seulement le cas ‘‘ Gérer compte ’’ inclura cette fois-
ci le cas ‘‘créer compte’’.
Cas d’utilisation
Acteur principal
Package
Consulter le site
Visiteur
Consulter le site
Créer un compte abonné
Abonné
Gérer un compte abonné
Vérifier le diplôme
Abonné
Vérifier le diplôme
Vérifier le relevé
Abonné
Vérifier le relevé
Interagir avec le S.C
Service client, abonné
Interagir avec le S.C
Maintenir
Webmaster
Maintenir
Figure 2-13 : Organisation des cas d’utilisations
2.5. Identification des messages
P a g e | 31
2.6. Identification des classes candidates
Nous vous présentons le diagramme des classes de tous les cas d’utilisations
Figure2-14 : Identification des classes candidates
P a g e | 32
3. CONCEPTION
Conversion du diagramme de classe en une Base de données. Tout en
suivant les règles.
a. Implémentation d’une classe.
En principe nous devons faire correspondre chaque classe à une table et
chaque attribut à une colonne. Vous pouvez ajouter des colonnes pour un
identifiant d’objet et pour les associations.
Exemple :
b. Implémentation des associations.
Les règles d’implémentation des associations dépendent de la multiplicité.
Ainsi donc nous avons :
Association des multiplicités plusieurs à plusieurs.
Implémentez l’association par une table, la clé primaire de
l’association étant une combinaison des clés primaires des classes. Si
l’association a des attributs, ils des colonnes supplémentaires de la
table.
Exemple :
Et le modèle relationnel dérivé est :
P a g e | 33
Association des multiplicités un-à-plusieurs.
Chaque association devient une clé étrangère encapsulée dans la table
de la classe située à l’extrémité « plusieurs ». Si l’extrémité « un » de
l’association avait un nom, nous l’utiliserions comme nom de la clé
étrangère.
Exemple :
Et le modèle relationnel dérivé est :
Associations de multiplicité un-à-un
Elles se produisent rarement. Vous pouvez les gérer en encapsulant
une clé étrangère dans l’une ou l’autre table.
Exemple :
Et le modèle relationnel dérivé est :
P a g e | 34
c. Héritage
L’héritage se traduit comme suit :
Une table mère pour la superclasse, une table fille pour chaque sous-
classe.
L’identifiant de la superclasse pour chaque table.
La clé primaire de tables des sous-classes est aussi étrangère avec
intégrité référentielle (ajout, suppression, mise à jour). Multiplicités
1…1 côté mère, 0…1 côté fille.
Exemple :
Si la classe Employé devait avoir plus d’une sous-classe, chaque sous-classe
donnerait lieu à une table avec la clé primaire No matricule.
d. Composition
Le modèle relationnel dérivé doit montrer explicitement les clés primaires des
tables. D’où la présence d’une clé primaire composée pour la table Ligne
Commande où l’attribut No commande porte la mention {PK, FK} indiquant
par là qu’il s’agit d’un élément de la clé primaire tout en étant une clé
étrangère comme illustrer ci-dessous.
P a g e | 35
De plus, considérant la dépendance existentielle de Ligne commande envers
Commande, il est absolument nécessaire d’assurer l’intégrité référentielle
entre les deux tables ainsi que la suppression et la mise à jour en cascade
des lignes de la table Ligne commande par le biais de la clé étrangère No
commande. Quant aux multiplicités, elles sont reprises intégralement à
partir du modèle conceptuel.
La dérivation des tables et de leur clé primaire est la première étape du
processus de passage d’un modèle conceptuel au modèle relationnel
correspondant. L’autre étape consiste à analyser les associations et à dériver
le cas échéant d’autres tables et d’autres clés étrangères selon la nature des
associations.
P a g e | 36
Ayant étudié ces règles, nous en avons utilisé quelques-unes d’entre elles qui
nous étiez nécessaire à fin d’obtenir la base de données qui vous sera
présenter dans le chapitre suivant.
P a g e | 37
CHAPITRE III : IMPLEMENTATION
Après avoir parlé des différent concepts que nous avons utilisés dans notre
travail en passant par l’analyse et conception nous voici finalement arriver
au troisième chapitre et dernier de notre travail. A ce niveau du travail nous
allons montrer comment nous sommes parvenus à la matérialisation du
projet et montrer comment ça fonctionne.
1. ENVIRONNEMENT LOGICIEL
Voici les éléments nous ont aidé durant note travail :
1.1. Système de gestion de base de données
Un système de gestion de base de données (SGBD) est un ensemble de
logiciels système permettant aux utilisateurs d’insérer, de modifier, et de
rechercher efficacement des données spécifiques par de multiples
utilisateurs.
Pour le développement de notre application nous avons utilisé comme
système de gestion des bases de données : MySQL qui est un SGBD libre et
gratuit, développé par l’entreprise américaine oracle.
1.2. Editeur de texte
Sublime Text est un éditeur de texte générique codé en C++ et Python,
disponible sur Windows, Mac et Linux. Le logiciel a été conçu tout d'abord
comme une extension pour Vim, riche en fonctionnalités.
1.3. Langage de programmation
a. Le html (HyperText Markup Language) : dit de balisage, il a fait son
apparition dès 1991 lors du lancement du Web. Son rôle est de gérer
et organiser le contenu. C'est donc en HTML que nous écrivons ce qui
doit être affiché sur la page : du texte, des liens, des images…
b. Le CSS (Cascading Style Sheets, aussi appelées Feuilles de style) : le
rôle du CSS est de gérer l'apparence de la page web (agencement,
positionnement, décoration, couleurs, taille du texte…). Ce langage est
venu compléter le HTML en 1996.
c. Le langage PHP : PHP est un langage de script HTML exécuté du côté
serveur. Il veut dire « PHP : Hypertext Preprocessor ». C’est un langage
de programmation libre principalement destiné pour développer des
applications web dynamique via un serveur HTTP. PHP est un
langage impératif et orienté objet. Nous l’avons choisi pour sa
simplicité et sa facilité à créer des pages dynamiques.
P a g e | 38
Grâce à sa bibliothèque PhpSpreadSheet nous somme parvenu à extraire les
données dans les fichiers Excel et les stocker dans la base de données.
2. PRESENTATION DE LA BASE DES DONNEES
Figure 3-1 : Base de données composée de 4 tables.
P a g e | 39
Figure 3-2: Table institution.
Dans cette table ‘‘Institution’’ nous y stockons toutes les institutions inscrites à notre site.
Ceci pour nous permettre de les identifier. Donc connaître ce que chaque institution upload
sur le site.
Figure 3-3 : Table palmarès. Qui stock les relevés des étudiants.
P a g e | 40
Dans cette table ‘‘palmarès’’ nous y trouvons toute les informations du relevé d’un
étudiants. A partir de cette table nous pouvons repérer tout le parcours d’un étudiant, c.-à-
d. que nous pouvons voir dans quelles promotion il a fait plus d’une année, dans quelles
promotions il est passé directement et même par quelles institutions ils est passé.
Figure 3-4 : Table diplômes. Qui stock les diplômes.
Dans la table ‘‘diplôme’’ nous trouvons les informations conforme au diplôme des différents
étudiants. Et ici nous pouvons trouver tout les diplômes qu’un étudiant a obtenus.
P a g e | 41
3. PRESENTATION DES QUELQUES BOUT DES CODES
Le bout de code suivant est celui qui nous a permis à transformer les fichiers
Excel uploadés par les institutions qui représente pour nous les gilles de
délibérations.
Ce même code est utilisé pour le stockage des diplômes car nous allons
instruire nos administrateurs et les institutions à les constituer comme des
fichiers Excel dont la forme leur sera transmise.
Figure3-5 : code traitant le fichier excel
P a g e | 42
Figure3-5 : code traitant le fichier excel (suite)
P a g e | 43
Figure 3-6 : Code de recherche du diplôme ou relevé.
Ce code est celui qui permet aux utilisateurs d’effectuer leurs recherche soit
des diplômes soit des relevés.
P a g e | 44
4. VUE DU SITE MIS EN PLACE
A ce niveau de la navigation l’internaute accède à la page qui doit lui afficher
le résultat de sa recherche. Il n’a encore rien introduit comme mot-clé voici
comme la page apparaît :
Figure 3-7 : Aperçu du site au point d’effectuer une rechercher.
Figure 3-8 : Aperçu du résultat de la recherche d’un relevé des côtes.
P a g e | 45
Vu que le mot-clé qui a été introduit par l’internaute est ‘‘ Makashi Bope
Gandhi’’ le petit moteur de recherche va chercher :
- makashi dans toutes les trois colonnes (nom, post-nom, et prénom) ;
- bope dans toutes les trois colonnes (nom, post-nom, et prénom) ;
- et gandhi aussi dans toutes les trois colonnes (nom, post-nom, et
prénom).
C’est ainsi que vous constaterez que le résultat ne nous donne pas
seulement le relevé de Makashi Bope Gandhi, mais aussi de tout celui qui
contient un des noms introduits par l’internaute.
Figure 3-9 : Aperçu du résultat de la recherche d’un diplôme.
Vu que le mot-clé qui a été introduit par l’internaute est ‘‘serge’’ le petit
moteur de recherche va chercher :
- serge dans toutes les trois colonnes (nom, post-nom, et prénom) ;
Mais comme contraint par le temps et pour des raisons de test notre base de
données ne contenait qu’une donnée.
P a g e | 46
Discussion et Conclusion
Arriver au terme de notre travail qui a consisté à concevoir et réaliser
un site web de vérification des diplômes et relevés de côtes nous avons
préféré discuter et voir nous avons atteint nos objectifs fixés tout au départ.
Le plus grand objectif que nous avions depuis le début était celui de
mettre en place un site web qui puisse permettre aux utilisateurs de vérifier
un diplôme ou un relevé des côtes. En outre le site devait :
Contenir les palmarès des différentes institutions c’est-à-dire qu’il
fallait arriver à extraire les données contenues dans le fichier Excel et
les stocker dans la base des données.
Faciliter la recherche c’est-à-dire que notre moteur de recherche devra
être plus ou moins efficace pour retrouver les informations qu’on
recherche sur un étudiant soit en fonction d’un ou de deux ou même
de tous les noms composant son nom.
Permettre aux institutions de uploader leur palmarès dès que prêt.
Se servant d’une bibliothèque de PHP nommé « PhpSpreadSheet » nous
nous sommes vu atteindre le premier objectif après bien sûre quelques
difficultés rencontrées ; mais pas mal ! C’est normal en informatique surtout
quand on programme les choses ne marche pas du coup !!!
Nous avons implémenté notre base de données tout en respectant la
structure retenue de notre fichier Excel et nous extrairions dans chaque
colonne et stockions à la colonne correspondante dans la table, et ainsi de
suite.
En ce qui concerne le moteur de recherche, nous nous sommes
débrouillés avec les requêtes SQL pour y parvenir sans beaucoup des
professionnalismes mais promettons que nous allons nous y mettre pour
améliorer ledit moteur.
Afin de ne pas donner une très grande charge à notre administrateur
nous avons bien voulu que l’uploade des palmarès ce fasse à partir des
institutions. Et nous y sommes parvenus car cela marche merveilleusement
bien.
Enfin, Tout ne nous a pas était facile le long du travail ni était les
coups de main des certains amis dont nous n’avons manqué de remercier.
Le gros du boulot a été fait, mais les améliorations de notre plate-forme
restent envisageables.
P a g e | 47
Bibliographie
Livre :
[1] Georges GADARIN, Base de données, Eyrolles, 2003
[2] J. GABAY et D. GABAY, UML 2 Analyse et conception, Dunod, 2008
[3] MPALA MBABULA, Pour vous chercheur, 2011
[4] P. ROQUES et F. VALLEE, UML 2 en action, Eyrolles, 2007
[5] P. ROQUES, UML 2 Modéliser une application web, Eyrolles, 2008
[6] P. ROQUES, UML 2 Par la pratique, Eyrolles 2006
[7] PINTO et GRAWITZ, Méthode des sciences sociales, Dalloz, 1998
[8] Saint-Jean A.O DJUNGU, Génie logiciel, Médiaspaul, 2017
[9] Saint-Jean A.O DJUNGU, Outils et langages du web n.0, Médiaspaul, 2013
Notes de cours :
[1]S. BUKASA, stage local : Développement des sites web, Bac1 Informatique, Unilu, 2015-2016
Mémoire :
[1] Kazi Aouel Bassim et Rostane Zakaria, Suivi des enseignements du LMD par application de la méthode 2TUP, projet de fin d’études, Université Abou Bekr Belkaid de Tlemcen, 2007
[2] BOUKERZAZA Hanane et SAOUCHI Rima, Conception et réalisation d'un site web dynamique pour un magazine en ligne, Mémoire de fin d'étude en vue de l'obtention du diplôme de licence ACAD, Université Mentouri
Constantine, 2012
Site web :
[1] https://www.futura-sciences.com/
[2] https://fr.wikipedia.org/
[3] https://www.ideematic.com/
[4] https://www.syloe.com/
[5] https://openclassrooms.com/
[6] https://www.verifdiploma.com/
P a g e | 48
TABLE DES MATIERES
EPIGRAPHE ............................................................................................. I
DEDICACE .............................................................................................. II
REMERCIEMENT ................................................................................... III
LISTE DES FIGURES .............................................................................. IV
INTRODUCTION .................................................................................... 1
1. Choix et intérêt du sujet ...................................................................... 1
2. Problématique et Hypothèse ................................................................ 1
3. Méthode et Technique .......................................................................... 2
4. Etat de l’art ......................................................................................... 3
5. Outils et Equipement utilisés ............................................................... 3
6. Subdivision du Travail ......................................................................... 4
CHAPITRE 1 : DEFINITION DES CONCEPTS THEORIQUES .................... 5
1. Introduction à Internet et le Web ......................................................... 5
1.1. Internet ......................................................................................... 5
1.2. Web ............................................................................................... 5
2. Composition et fonctionnement du Web .............................................. 6
2.1. Composition .................................................................................. 6
2.2. Fonctionnement ............................................................................. 8
3. Différence entre site web statique et site web dynamique ..................... 8
4. UML et 2TUP ....................................................................................... 9
4.1. Présentation du langage UML ...................................................... 9
4.1.1. Définition ........................................................................... 9
4.1.2. Présentation des diagrammes UML ..................................... 9
4.2. Le processus 2TUP .................................................................... 11
CHAPITRE 2 : CONCEPTION ET ANALYSE DU SYSTEME .................... 15
1. ETUDE PRELIMINAIRE ....................................................................... 15
1.1. Présentation du projet .................................................................. 15
1.2. Choix technique ........................................................................... 15
1.3. Recueil des besoins fonctionnels ................................................... 15
P a g e | 49
1.4. Identification des acteurs .............................................................. 16
1.5. Identification des messages........................................................... 17
1.6. Modélisation du contexte ............................................................. 17
2. CAPTURE DES BESOINS FONCTIONNELS ........................................ 18
2.1. Identification des cas d’utilisations ............................................... 18
2.2. Description préliminaire des cas d’utilisations ............................. 19
2.3. Description détaillée des cas d’utilisations ................................... 19
2.4. Organisation des cas d’utilisations ................................................ 16
2.5. Identification des messages........................................................... 30
2.6. Identification des classes candidates ............................................ 31
3. CONCEPTION .................................................................................... 32
CHAPITRE 3 : IMPLEMENTATION ...................................................... 37
1. ENVIRONNEMENT LOGICIEL ............................................................. 37
1.1. Système de gestion de base de données ........................................ 37
1.2. Editeur de texte ........................................................................... 37
1.3. Langage de programmation .......................................................... 37
2. PRESENTATION DE LA BASE DE DONNEES ..................................... 38
3. PRESENTATION DES QUELQUES BOUT DES CODES ....................... 38
4. VUE DU SITE MIS EN PLACE ............................................................ 44
DISCUSSION ET CONCLUSION ........................................................ 46
BIBLIOGRAPHIE ............................................................................. 47