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

 > 

Développement d'un portail web de gestion académique d'une université: cas de l'université islamique au Niger


par Ibrahim Yacouba Maïdaoua
Université islamique au Niger - Bachelor en informatique  2023
  

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

Organisation de la Coopération Islamique
Université Islamique au Niger
Faculté des Sciences et Techniques
Département Informatique

Mémoire de fin de cycle pour l'obtention du

« Bachelor degree » en Sciences Informatiques

et Technologies de l'Information

THEME :

Développement d'un portail web de gestion
académique d'une université : cas de l'Université

Islamique au Nige

Promotion sortante 2023

Présenté par :

YACOUBA MAIDAOUA Ibrahim Sous la supervision de :

Mr. Moutari Mahamane

Mise en place d'un portail web

Dédicace

Je dédie ce mémoire à ma chère défunte mère, à mon père ainsi qu'à toute ma famille.

Bachelor Degree Promotion sortante 2023

I

Mise en place d'un portail web

Remerciements

Tout d'abord, nous tenons à remercier « ALLAH », qui nous a donné la force, la volonté et le courage pour terminer ce modeste travail; ainsi qu'à tous ceux qui y ont contribué de près ou de loin.

Merci...

Bachelor Degree Promotion sortante 2023

II

Mise en place d'un portail web

Sigles et Abréviations

WWW World Wide Web

XML Extensible Markup Language

URL Uniform Resource Locators

FTP File Transfer Protocol

CSS Cascading Style Sheets

GIF Graphics Interchange Format

ASP Active Server Pages

CMS Content Management System

CU Cas d'Utilisation

HTML Hypertext Markup Language

HTTP Hypertext Transfert Protocol

MVC Model View Controller

MVT Model View Template

PHP HyperText Preprocessor

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

UIN Université Islamique au Niger

FST Faculté des sciences et techniques

UML Unified Modeling Language

Bachelor Degree Promotion sortante 2023

III

Mise en place d'un portail web

Listes des figures

4

6

9

15

16

41

42

43

43

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

64

69

70

71

72

73

74

74

75

83

84

84

85

85

Bachelor Degree Promotion sortante 2023

IV

Mise en place d'un portail web

87

88

Figure 44: Version de python et pip 91

Figure 45: Installation de django 91

Figure 46: Création du projet et structure de base 92

Figure 47: Aperçu du fichier login.html 92

Figure 48: Aperçu du fichier home.html (enseignant) 93

Figure 49: Aperçu du fichier views.py (enseignant) 93

Figure 50: Aperçu du fichier models.py (étudiant) 94

Figure 51: Aperçu du fichier urls.py (enseignant) 94

Bachelor Degree Promotion sortante 2023

V

Bachelor Degree Promotion sortante 2023

VI

Mise en place d'un portail web

Listes des tableaux

 

33

38

77

Mise en place d'un portail web

Table des matières

Dédicace I

Remerciements II

Sigles et Abréviations III

Listes des figures IV

Listes des tableaux VI

Table des matières VII

Introduction Générale 1

CHAPITRE I : 3

Introduction 4

I - Cadre théorique 4

1 - Présentation de l'UIN 4

1.1 - Historique 4

1.2 - Situation géographique 4

1.3 - Les différentes sections 5

1.3.1 - Les facultés 5

1.3.2 - Les instituts 5

1.4 - Organigramme 5

2 - Problématique de recherche 6

3 - Objectifs de recherche 7

2.1 - Objectif général 7

2.2 - Objectifs spécifiques 7

II - Cadre méthodologique 7

1 - Cadre de l'étude 7

2 - Délimitation du champ de l'étude 8

3 - Techniques d'investigations 8

4 - Difficultés rencontrées 8

5 - Conduite du projet 9

Conclusion 10

CHAPITRE II : 11

Introduction 12

I - Le web 12

1 - Généralité 12

2 - Principe du web 12

Bachelor Degree Promotion sortante 2023

VII

Mise en place d'un portail web

II - Application web 13

1 - Exemple d'application web 13

2 - Types d'application web 14

2.1 - Application web statique : 14

2.2 - Application web dynamique 14

2.3 - Application E-commerce ou e-shop : 14

2.4 - Portail web 15

3 - Fonctionnement d'une application web 15

III - Le développement web 16

1 - Développement Front-End 16

1.1 - Les technologies front-end 16

1.1.1 - HTML5 et CSS3 17

1.1.2 - JavaScript (JS) 17

2 - Développement Back-End 17

2.1 - Les technologies back-end 18

2.1.1 - PHP 18

2.1.2 - Python 18

2.1.3 - Java 19

2.1.4 - Les SGBD 19

3 - Les Frameworks 21

IV - Conclusion 25

CHAPITRE III : 26

Introduction 27

I - Méthodes d'analyse et de conception 27

1 - Exemples de méthodes d'analyse et de conception 27

1.1 - La méthode Merise 27

1.2 - La méthode 2TUP 28

2 - Méthodes utilisées pour notre projet (UML) 29

2.1 - Définitions 29

2.2 - Les diagrammes UML 29

2.3 - Outils de modélisation 29

II - Analyse 30

1 - Identification des besoins 30

1.1 - Besoins fonctionnels 30

1.2 - Besoins non fonctionnels 31

2 - Identification des acteurs 31

Bachelor Degree Promotion sortante 2023

VIII

Mise en place d'un portail web

3 - Identification des cas d'utilisation 31

3.1 - Spécification des scénarios 33

3.2 - Spécification de quelques cas d'utilisation 38

3.3 - Diagramme de cas d'utilisation 40

41

III - Conception 44

1 - Style Architectural 44

1.1 - Architecture logicielle 44

1.2 - Architecture système 46

2 - Diagramme de contexte 47

3 - Diagramme de séquence 47

4 - Diagramme d'activité 55

5 - Diagramme de classe globale de données 62

6 - Création de la base de données 63

6.1 - Définition d'une base de donnée 63

6.2 - Passage au relationnel 63

Conclusion 64

CHAPITRE IV : 65

Introduction 66

I - Outils et technologies 66

1 - Les technologies utilisées 66

2 - Outils 67

2.1 - IDE utilisé 67

2.2 - Navigateur 67

2.3 - Autres outils 68

II - Présentation des interfaces utilisateurs 68

IV - Estimation du coût du projet 76

Conclusion 77

Conclusion Générale 78

Perspectives 79

Annexe 1 80

Généralité sur les réseaux 81

I- Définition d'un réseau: 81

II - Intérêts d'un réseau informatique : 81

III - Les supports de transmission : 81

1 - Le câble coaxial : 81

Bachelor Degree Promotion sortante 2023

IX

Mise en place d'un portail web

2 - Le câble à paire torsadée : 81

3 - La fibre optique : 82

IV - Classification des réseaux : 82

1 - Classification des réseaux en fonction de la distance : 82

2 - Classification des réseaux en fonction du mode de communication : 83

V - Les topologies : 84

1 - La topologie physique 84

VI - Architecture des réseaux 86

Annexe 2 90

Bibliographie 95

Webographie 96

Bachelor Degree Promotion sortante 2023

X

1

Mise en place d'un portail web

Introduction Générale

Il ne fait désormais plus aucun doute que l'informatique représente la révolution la plus importante et la plus innovante qui a marqué la vie de l'humanité en ce siècle passé. En effet, loin d'être un éphémère phénomène de mode, ou une tendance passagère, l'informatique vient nous apporter de multiples conforts à notre mode de vie. Aucun domaine n'est resté étranger à cette stratégie qui offre tant de services aussi bien pour l'entreprise ou l'administration que pour le personnel.

Mais, au-delà de l'utilisation individuelle de l'informatique, c'est surtout la mise en communication des ordinateurs, qui a permis de révolutionner les méthodes de travail. Ainsi, on a assisté à l'émergence des réseaux. Ce nouveau progrès offre aux utilisateurs de nouveaux outils de travail et leur permet d'améliorer leur rentabilité et leur productivité.

La révolution des nouvelles technologies s'impose tant dans la vie domestique que professionnelle ; elle touche pratiquement tous les secteurs de la société. Cette évolution a aussi touchée l'univers des études et en particulier le monde des universités.

Le développement d'un portail web de gestion d'une université est un projet complexe qui nécessite une analyse approfondie des besoins, une conception soigneuse de l'architecture et de l'interface utilisateur, un développement et une mise en oeuvre précis, un test rigoureux et un entretien régulier. Ce projet est donc un excellent sujet pour un mémoire de fin d'études d'où le choix du thème : « Développement d'un portail web de gestion académique d'une université : cas de l'Université Islamique au Niger ».

Notre travail portera sur quatre chapitres qui seront divisés en des points.

? Dans le premier chapitre, Cadre théorique et méthodologique, nous procéderons à la présentation de l'Université Islamique au Niger, à la définition de la problématique, des objectifs, et du cadre de l'étude ;

? Le deuxième chapitre consiste à définir et expliquer les enjeux du développement d'une application web ;

? Le troisième chapitre est consacré à l'analyse et la conception de notre système à travers son architecture globale puis détaillée en définissant les différentes

Mise en place d'un portail web

fonctionnalités attendues du système. Et pour permettre de détailler toutes les étapes de travail ;

? Le quatrième chapitre, consiste à présenter la réalisation du système. On commence par décrire les outils et l'environnement de développement utilisés puis les différentes interfaces et une brève explication pour chacune d'elle pour donner une vue générale et complète sur le système.

Nous terminerons par une conclusion générale et deux annexes :

? Annexe 1 : Généralité sur les réseaux.

? Annexe 2 : Django et quelques lignes de codes.

Bachelor Degree Promotion sortante 2023

2

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

3

CHAPITRE I :

Bachelor Degree Promotion sortante 2023

4

Mise en place d'un portail web

Introduction

Dans ce chapitre nous allons présenter notre centre d'accueil qui est l'UIN ainsi que la problématique et les objectifs de recherche. Nous allons aussi délimiter notre étude et dégager son cadre.

I - Cadre théorique

1 - Présentation de l'UIN
1.1 - Historique

L'Université Islamique au Niger est une institution d'enseignement supérieur, affiliée à l'Organisation de la Coopération Islamique (O.C.I). Elle fut créée en 1974 correspondant à l'an 1397 AH sur décision des Rois et Chefs d'Etat des pays membres de l'O.C. I lors de la deuxième conférence Islamique au sommet tenue à Lahore au Pakistan. Elle est la deuxième Université Islamique créée en Afrique, après celle de l'Ouganda. Des étudiants d'une vingtaine de pays africains viennent se former depuis lors à l'Université Islamique du Niger. Elle ouvrit ses portes en novembre 1986 correspondant à l'an 1407 AH.

1.2 - Situation géographique

L'université islamique au Niger dispose de deux Campus, l'un se trouvant dans le département de Say à 50 kilomètres de la ville de Niamey, tandis que l'autre campus nommé Campus Roi Abdallah Bin Abdoul Aziz Al Saoud se trouve dans la capitale Niamey en face de l'hôpital de référence à Kouara Tagui.

Mise en place d'un portail web

1.3 - Les différentes sections

L'Université Islamique au Niger comprend cinq facultés, deux instituts et un centre des langues.

1.3.1 - Les facultés

> Faculté de sharia et droit (section garçon au campus de Say et section Fille au campus de Niamey)

> Faculté de langue arabe et sciences humaines (section Garçon au campus de Say et section Fille au campus de Niamey)

> Faculté de l'économie et des sciences de l'administration (à Niamey) Elle été créée en 2009 et compte deux département :

? Le département Sciences de l'administration, la formation du Bachelor en Administration Générale

? Le département des sciences économiques, la formation porte sur le Bachelor en Finance comptabilité et le DESS en Finance islamique

> Faculté des sciences et techniques (à Niamey) Créée en 2009, elle dispose de deux départements :

? Le département informatique et technologie de l'information crée en Octobre 2009, et les débouchés de la formation sont : Ingénieur concepteur et Développeur des applications et logiciels informatique (desktop, Web, Mobile), Ingénieur concepteur et Administrateur des bases de données, Ingénieur concepteur et administrateur des réseaux informatiques.

? Le département de télécoms qui a ouvert ses portes en septembre 2019, et les débouchés de la formation sont : Ingénieur concepteur et administrateur des réseaux informatiques, Ingénieur concepteur et administrateur des réseaux télécoms, Ingénieur réseaux de téléphonie cellulaire.

> Faculté d'agronomie.

> Faculté des sciences infirmières et de la santé.

1.3.2 - Les instituts

> Institut supérieur de pédagogie et de la formation des professeurs. > Institut pour la formation professionnelle et technique.

1.4 - Organigramme

Bachelor Degree Promotion sortante 2023

5

Mise en place d'un portail web

2 - Problématique de recherche

Attendre la fiche de notes des enseignants, calculer et compiler les résultats de chaque étudiant, mettre à disposition ces résultats aux partis concernés tout en respectant le calendrier scolaire annuel sont des tâches habituelles des administrateurs de l'UIN. A l'apparence simples, ces tâches peuvent demander beaucoup d'effort surtout quand le nombre total des étudiants est élevé, ce qui est le cas de l'UIN qui voit le nombre des inscrits augmenter chaque année.

D'un autre côté, le partage des documents de cours aux étudiants par les enseignants se fait toujours à travers l'utilisation des clés USB (souvent remplies de virus) ou par le réseau social whatsapp. Cela, n'étant pas un cadre adéquat, peut souvent causer plusieurs types de problèmes conduisant à la non information.

De plus les étudiants ont besoin de garder un oeil sur leur scolarité afin de savoir à tout moment ce qu'ils ont payé et ce qui leur reste à payer sans passer par l'administration.

Bachelor Degree Promotion sortante 2023

6

Mise en place d'un portail web

Comment faire alors pour changer la donne ? Quelles tâches peuvent être automatisées ?

Comment regrouper ses différentes tâches et d'autres jugées utiles dans un même ensemble pour en ressortir une solution adaptable ?

En vue de faciliter le travail des administrateurs, des enseignants et l'accès aux informations par les étudiants et remédier à ces problèmes, quelle solution réalisable serait adaptée du point de vue de la technologie ?

3 - Objectifs de recherche
2.1 - Objectif général

L'objectif de notre travail est de mettre à la disposition des étudiants, des enseignants et de l'administration de l'UIN un portail web qui participera à l'amélioration de la communication et le partage des informations entre eux.

2.2 - Objectifs spécifiques

La mise en place de ce portail web permettra :

? aux enseignants de noter leurs étudiants, de partager avec eux des documents de cours ;

? aux étudiants de consulter leurs notes de se renseigner sur leur scolarité et de faire des retours à leurs enseignants vis à vis des cours ;

? et aux chefs des départements de gérer les enseignants, les modules et les PV globaux.

Tout cela sera possible n'importe où et à n'importe quel moment.

II - Cadre méthodologique

Sous ce point consacré au cadre méthodologique, nous présenterons le cadre de l'étude, la délimitation du champ de notre étude, les techniques d'investigations et enfin les difficultés rencontrées au cours du travail.

1 - Cadre de l'étude

Notre étude est réalisée dans le cadre de notre mémoire de fin de cycle pour l'obtention du diplôme de Bachelor Degree en Sciences Informatiques et Technologies de l'Information.

Toutefois, nous allons délimiter au niveau du point suivant le champ de cette étude, ce qui nous permettra ainsi d'atteindre au mieux nos objectifs.

Bachelor Degree Promotion sortante 2023

7

Mise en place d'un portail web

2 - Délimitation du champ de l'étude

Après avoir cadré l'étude, il est important de la délimiter. Certaines contraintes telles que les difficultés rencontrées que nous développerons au point 4 font que notre étude se limitera à la mise en place d'un système qui permettra principalement de noter les étudiants en ligne, la compilation et le partage de ces notes, de permettre l'accès aux informations liées à la scolarité, de partager de documents de cours et d'autres fonctionnalités qui sont secondaires. Ces fonctionnalités faciliteront la circulation de l'information au sein de l'UIN et améliorera l'expérience estudiantine.

3 - Techniques d'investigations

Les techniques d'investigations constituent un ensemble de procédés, de méthodes et de moyens utilisés pour atteindre un objectif.

Dans le but d'atteindre notre objectif, les techniques suivantes ont été utilisées : y' La technique d'observation : qui consiste à voir de façon concrète ce qui se passe dans la gestion académique.

y' La technique de questionnaire : qui consiste à proposer un questionnaire aux experts du domaine à fin d'être éclairé sur l'objet de la recherche.

y' La technique de l'entretien : qui consiste en l'utilisation du processus verbal pour recueillir des informations en relation avec le but fixé, auprès des personnes qui sont dans le domaine.

y' L'analyse documentaire : le terme document est pris dans son sens large, il s'agit des

différents documents écrits, audiovisuels exploités dans le cadre de la recherche.

4 - Difficultés rencontrées

Tout travail de mémoire fait dans la plupart des cas l'objet de difficultés tant sur le plan de la collecte de données, à la recherche d'informations, de la documentation et de la disponibilité des personnes susceptibles de nous assister pour la mise en place de notre solution.

Notre travail de mémoire n'en fait l'exception. Nous avons rencontré un certain nombre de difficultés parmi lesquelles :

> L'apprentissage de nouvelles technologies dans un délai bref pour la réalisation de notre système ;

> Le temps très court pour la mise en place de notre solution ;

> La cherté des données mobiles pour effectuer les recherches et le manque de wifi fonctionnel à l'UIN ;

> Mener ce projet en même temps que les travaux pratiques (TP), les exposés, les devoirs et les examens est gageure.

Bachelor Degree Promotion sortante 2023

8

Bachelor Degree Promotion sortante 2023

9

Mise en place d'un portail web

5 - Conduite du projet

Vert : tâche terminée

Bleu : tâche en cours

Orange : tâche à venir

Afin de mieux mener notre projet et de garder une trace écrite, nous avons noté dans un cahier toutes les tâches accomplies et la progression de notre travail de recherche avec des dates et des commentaires. Nous avons établi, à partir de ces notes et des tâches encore non réalisées, un diagramme de Gant à l'aide du logiciel libre Gantt Project. Ce diagramme a pour but de vous présenter le déroulement de notre projet jusqu'à la tâche actuelle et nous servira de repère pour les tâches à venir. La durée consacrée à ce projet est de huit mois étalé entre Décembre 2022 à Juillet 2023 et les tâches sont reparties comme représentées sur le graphe ci-après :

Mise en place d'un portail web

Conclusion

Ce chapitre nous a permis de cadrer et de délimiter le champ de notre étude, de présenter les techniques d'investigations et d'exposer quelques-unes des difficultés rencontrées.

Bachelor Degree Promotion sortante 2023

10

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

11

CHAPITRE II :

Mise en place d'un portail web

Introduction

Le développement d'une application web vous permet de disposer d'une application qui sera accessible depuis n'importe quel navigateur sur n'importe quel appareil. De plus, contrairement aux applications natives, elle ne nécessite pas de téléchargement.

Pour comprendre comment développer une application web, il faut d'abord en savoir un peu plus sur ce type de développement. Dans ce travail, nous vous proposons cinq types d'applications web, quelques exemples et d'autres considérations qui vous seront utiles.

I - Le web

1 - Généralité

Le Web, littéralement la « toile (d'araignée) mondiale », communément appelé le Web, parfois la Toile ou le WWW (World wide web), est un système hypertexte relié par le protocole http. Ce protocole fonctionne sur le réseau Internet et permet de consulter, avec un navigateur, des pages stockées sur des sites. L'image de la toile d'araignée vient des hyperliens qui lient les pages web entre elles. Le web n'est qu'une des applications d'Internet. D'autres applications existent également dont le courrier électronique, la messagerie instantanée et Usenet. Le Web a été inventé plusieurs années après internet, mais c'est lui qui a rendu les médias grand public attentifs à internet. Depuis, le Web est fréquemment confondu avec internet, en particulier, le mot Toile est souvent utilisé dans les textes non techniques sans qu'il soit clairement exprimé s'il désigne le Web ou Internet.

2 - Principe du web

Les principaux logiciels permettant le développement, la mise en oeuvre et la consultation d'information organisée en page en mode hypertexte sont les suivants :

? HTTP (HyperText Transport Protocol) constitue le protocole de type question/réponse de transfert de fichiers hypertextes entre un serveur Web et un client Web.

? HTML (HyperText Markup Language) définit le format d'un document et la syntaxe de description des pages, remplacé aujourd'hui par XML (extensible Markup Language).

Bachelor Degree Promotion sortante 2023

12

Mise en place d'un portail web

? URL (Uniform Resource Locator) définit le format de l'adresse (localisation) d'un document à importer. La syntaxe est la suivante.

Protocole : //Nom du serveur/Répertoire/Nom de fichier. Les URL permettent l'accès depuis le navigateur Web à toutes les formes de documents sur le Web.

? « http:// » pour les serveurs Web.

? « ftp : // » pour les serveurs FTP.

? « gopher:// » pour accéder aux services Gopher.

Un document est dit hypertexte quand il contient des liens vers d'autres documents (hyperliens) et hypermédia s'il pointe vers des documents contenant des images et/ou du son.

II - Application web

Une application web désigne un programme disponible sur un serveur à distance et qui réalise des fonctions spécifiques pour son utilisateur. Elle permet aux utilisateurs de gérer des travaux et des documents grâce à leur capacité à fonctionner sur tous les types de navigateurs. Étant donné que les applications web se chargent sur les serveurs web et fonctionnent dans le navigateur, elles ne sont pas à télécharger. Vous y avez donc accès à tout moment et depuis n'importe quel appareil tant que vous avez une connexion internet et un navigateur.

1 - Exemple d'application web

Les premières applications Web offraient principalement des interfaces utilisateur textuelles et une interactivité limitée. Les applications Web d'aujourd'hui offrent des interfaces riches, interactives et prennent en charge la collaboration entre les utilisateurs. Nous examinons ici plusieurs applications qui représentent la génération actuelle d'applications Web, parfois appelées collectivement Web 2.0.

MySpace est un site de réseau social (SNS). Les utilisateurs du site web créent un compte avec le « login » ou nom d'utilisateur et le mot de passe pour échanger et discuter avec d'autres utilisateurs. Les comptes sur MySpace.com sont gratuits.

Wikipédia, un projet international qui utilise un logiciel Wiki pour créer une encyclopédie en collaboration avec le monde entier. Tout le monde peut éditer directement des articles et

Bachelor Degree Promotion sortante 2023

13

Mise en place d'un portail web

chaque édition est enregistrée. L'historique des versions de tous les articles est disponible gratuitement et permet une multitude d'examens. Les composants fondamentaux de Wikipédia, c'est-à-dire les articles, les auteurs, les modifications et les liens, ainsi que le contenu et la qualité sont analysés. Les possibilités de recherche sont explorées avec des exemples et des premiers résultats. Plusieurs caractéristiques que l'on retrouve dans Wikipédia, telles que la croissance exponentielle et les réseaux sans échelle, sont déjà connues dans d'autres contextes. Cependant, l'architecture Wiki possède également des spécificités intrinsèques. Les tendances générales mesurées sont typiques de tous les Wikipédia mais varient en détail entre les langues.

2 - Types d'application web

Sur ce point, nous allons nous intéresser aux différents types d'applications web, leurs particularités et le type de contenu qu'elles permettent d'afficher.

Voici les cinq catégories d'applications web que nous distinguons :

2.1 - Application web statique :

Les applications Web statiques affichent peu d'informations et ne changent généralement pas beaucoup. Elles se chargent sur le navigateur d'un utilisateur exactement comme elles sont stockées sur le serveur Web. Comme leur nom l'indique, elles manquent de flexibilité et offrent peu ou pas d'interaction.

2.2 - Application web dynamique

Les applications web dynamiques constituent des outils qui, à l'inverse des applications web statiques, utilisent des bases de données pour charger leurs informations. Elles changent continuellement et peuvent fournir beaucoup d'informations en fonction de l'interaction avec l'utilisateur. Ce style d'application est techniquement plus compliqué que l'application statique et est mis en place pour faire en sorte que les bases de données ou les forums soient régulièrement capables de se mettre à jour ou de changer l'information disponible. Ceci est généralement possible grâce à l'utilisation d'un CMS ou d'un système de gestion de contenu.

2.3 - Application E-commerce ou e-shop :

Si vous vous êtes déjà procuré quelque chose en ligne, vous connaissez éventuellement les applications web les plus répandues, car elles font partie du e-commerce. Une application web qui prend la forme d'un magasin est considérée comme du e-commerce. Le processus de développement de cette application est plus compliqué que les deux précédemment

Bachelor Degree Promotion sortante 2023

14

Mise en place d'un portail web

mentionnée, car une application de e-commerce doit accepter des paiements électroniques par carte de crédit, PayPal ou autre mode de paiement.

2.4 - Portail web

Un portail Web est une application mise à disposition par une entreprise pour ses clients, fournisseurs et partenaires. Son objectif est de partager un certain nombre d'informations et de fonctionnalités premium en fonction des différents utilisateurs. L'accès au portail Web est réalisé directement via un navigateur web standard grâce à une connexion internet.

L'application web que nous développerons à l'issu de notre projet est basée sur ce type.

3 - Fonctionnement d'une application web

Lorsqu'un serveur web reçoit une requête de page web statique, il transmet simplement cette page au navigateur requérant. En revanche, lorsque le serveur web reçoit une requête de page dynamique, il transmet cette page à une extension logicielle spéciale chargée d'achever la page. Ce logiciel spécial est appelé serveur d'application. Le serveur d'application lit le code de la page, termine cette page en fonction des instructions figurantes dans le code, puis en retire le code. Il en résulte une page statique que le serveur d'application renvoie au serveur web, lequel transmet alors cette page au navigateur requérant.

Le navigateur reçoit uniquement du code HTML pur lorsque la page lui est transmise. Un serveur d'application nous permet de travailler avec des ressources côté serveur telles que les bases de données. Une page dynamique peut, par exemple, ordonner au serveur d'application d'extraire des données de la base de données et de les insérer dans le code HTML de la page.

Bachelor Degree Promotion sortante 2023

15

Mise en place d'un portail web

III - Le développement web

Il existe deux domaines de spécialisation dans le développement web : le développement front-end et le développement back-end. Le développeur front-end gère tout ce qui touche au visuel, tandis que le développeur back-end travaille en arrière-plan. Ces deux métiers diffèrent par de nombreux points, mais sont complémentaires. Ils interagissent pour rendre un site web fonctionnel et attractif.

1 - Développement Front-End

Il s'agit de la programmation de tous les éléments que l'utilisateur voit sur les sites web et les applications web. Le front développeur se spécialise dans le développement web au niveau du client. Son travail consiste à placer des éléments graphiques qui serviront de repère à l'utilisateur final sur l'interface. Ainsi, sa prise en main sera facilitée. C'est au développeur front-end que revient la création des animations, des interactions, du responsive design.

Les développeurs front-end doivent collaborer avec un expert UX, un webdesigner et un concepteur de sites web pour mettre sur pied un projet esthétique et pratique à la fois. Ceux-ci doivent savoir combiner les différents éléments d'un site web afin de fournir un livrable dynamique et ergonomique. Ils travailleront conjointement avec les développeurs back end qui rendent les données du serveur faciles d'accès.

1.1 - Les technologies front-end

Les compétences d'un développeur front-end sont variées. Son métier lui impose de maîtriser trois langages de programmation, HTML, CSS et JavaScript. Ceux-ci lui sont dispensés lors d'une formation en web développement.

Bachelor Degree Promotion sortante 2023

16

Mise en place d'un portail web

1.1.1 - HTML5 et CSS3

Utilisé aujourd'hui dans sa version 5, le HTML est le langage servant à la création de pages pour le web. Il s'agit donc d'un langage web. En réalité, le HTML5 n'est pas à proprement parlé un langage de programmation. Il s'agit plutôt d'un langage de balisage. Cela veut simplement dire que votre code contiendra des balises qui elles-mêmes contiendront les informations que vous souhaitez afficher sur votre page web. Le binôme du HTML5 est le CSS3. Là où le HTML mettra les contenus sur notre page web, le CSS sera utilisé pour mettre en forme ces contenus. Vous allez ainsi pouvoir, grâce au CSS, choisir la police que vous souhaitez utiliser, sa taille ou encore la couleur du fond de votre page web. Chaque instruction en CSS que vous écrirez va ainsi pointer l'élément HTML que vous souhaiterez customiser. Le HTML5 et le CSS3 sont à la base de tous les sites web.

1.1.2 - JavaScript (JS)

Le JavaScript a été utilisé à l'origine pour rendre dynamiques les pages web. Là où le HTML5 et le CSS3 permettent respectivement l'affichage et la mise en forme de vos éléments sur votre page web, le JavaScript rendra cette page interactive. Incontournable aujourd'hui en raison du nombre d'adeptes, le JavaScript permettra plus seulement d'améliorer l'aspect visuel de votre site (front-end) mais aussi de créer le moteur qui fera tourner le site (back-end) et de gérer les bases de données associées au site web. C'est bien le JavaScript qui vous permettra de vérifier que les données entrées par un utilisateur dans votre formulaire de contact sur votre site web sont au bon format.

2 - Développement Back-End

Une belle interface ne sert à rien si une équipe de développement back-end n'intervient pas sur l'application et le serveur du site web ainsi que sur celui de l'application mobile. Même si le développeur back-end agit en coulisse et qu'il est invisible pour l'utilisateur final, sans son travail, l'application ne verra pas le jour. Ce développeur web va travailler sur quelques piliers principaux :

Bachelor Degree Promotion sortante 2023

17

Mise en place d'un portail web

? La base de données (mise en place de tableaux qui stockent les données nécessaires au fonctionnement de l'appli) ;

? L'application web ;

? Le serveur d'hébergement (c'est le disque dur qui conserve l'application) ;

? La conformité aux politiques de sécurité et d'accessibilité.

Pour maintenir les sites web, les développeurs web back-end doivent interagir avec les développeurs front-end. Leur collaboration permet d'obtenir un livrable fluide et facile d'utilisation aux clients.

2.1 - Les technologies back-end

Les outils utilisés par le développeur web back-end diffèrent de ceux à disposition du développeur front-end. On peut noter la présence de JavaScript (qui peut servir des deux côtés comme expliqué ci-haut) et l'absence des langages de programmation HTML et CSS. Le plus souvent, le développeur web back end se sert de :

2.1.1 - PHP

PHP (officiellement, ce sigle est un acronyme récursif pour PHP HyperText Preprocessor) est un langage de scripts généraliste et Open Source, spécialement conçu pour le développement d'applications web. Il peut être intégré facilement au HTML. Au lieu d'utiliser des tonnes de commandes afin d'afficher du HTML (comme en C ou en Perl), les pages PHP contiennent des fragments HTML dont du code qui fait "quelque chose" (dans ce cas, il va afficher "Bonjour, je suis un script PHP !"). Le code PHP est inclus entre une balise de début <?php et une balise de fin ?> qui permettent au serveur web de passer en mode PHP.

Ce qui distingue PHP des langages de script comme le JavaScript, est que le code est exécuté sur le serveur, générant ainsi le HTML, qui sera ensuite envoyé au client. Le client ne reçoit que le résultat du script, sans aucun moyen d'avoir accès au code qui a produit ce résultat. Vous pouvez configurer votre serveur web afin qu'il analyse tous vos fichiers HTML comme des fichiers PHP. Ainsi, il n'y a aucun moyen de distinguer les pages qui sont produites dynamiquement des pages statiques.

2.1.2 - Python

Bachelor Degree Promotion sortante 2023

18

Mise en place d'un portail web

Python est un langage simple mais puissant qui fonctionne sans problème sur les systèmes d'exploitation les plus populaires (Windows, Linux et Mac). Ce langage peut se conformer au style de codage du programmeur (fonctionnel, impératif ou orienté objet), ce qui signifie que les développeurs python peuvent utiliser le style qui

convient le mieux à la tâche confiée. Python peut être utilisé non seulement pour le

développement Web, mais aussi dans de nombreux domaines différents (intelligence

artificielle, deep Learning et IoT) et dans de nombreux secteurs d'activité.

2.1.3 - Java

Java est un langage de programmation largement utilisé pour coder des applications web. Il a été fréquemment choisi parmi les développeurs depuis plus de deux décennies, des millions d'applications Java étant utilisées aujourd'hui. Java est un langage multiplateforme, orienté objet et centré sur le réseau, qui peut être utilisé comme une plateforme à part entière. Il s'agit d'un langage de programmation rapide, sécurisé et fiable qui permet de tout coder, des applications mobiles aux logiciels d'entreprise en passant par les applications de big data et les technologies côté serveur.

2.1.4 - Les SGBD

Les SGBD sont aussi des technologies qui se rattachent au développement back-end car c'est eux qui permettent la gestion des bases de données.

Définition : Un SGBD est un programme qui permet d'inscrire, de retrouver, de modifier, de trier, de transformer ou d'imprimer les informations de la base de données. Il permet d'effectuer des comptes rendus des informations enregistrées et comporte des mécanismes pour assurer la cohérence des informations, éviter des pertes d'informations dues à des pannes, assurer la confidentialité et permettre son utilisation par d'autres logiciels. Ils sont utilisés pour de nombreuses applications informatiques, notamment les guichets automatiques bancaires, les logiciels de réservation, les bibliothèques numériques, les logiciels d'inventaire, les progiciels de gestion intégrés ou la plupart des blogs et sites web. Il existe de nombreux systèmes de gestion de base de données. Les SGBD sont souvent exploités par d'autres logiciels. Ils peuvent être sous forme de composant logiciel, de serveur, de logiciel applicatif

Bachelor Degree Promotion sortante 2023

19

Mise en place d'un portail web

ou d'environnement de programmation. Comme dans notre cas présent il est exploité par notre framework back-end Django.

Il en existe plusieurs, certains ont une licence libre et gratuite et d'autres sont payants. Nous vous présentons certains des plus connus et celui que nous utilisons :

? ORACLE DATABASE :

C'est un système de gestion de base de données relationnelle (SGBDR) qui, depuis l'introduction du support du modèle objet dans sa version 8, peut être aussi qualifié de système de gestion de base de données relationnel-objet (SGBDRO).

Qu'est-ce qui le rend populaire ?

· Bonne capacité de sauvegarde et de récupération des données ;

· Régulièrement mis à jour ;

· Grande portabilité ;

· Gère facilement plusieurs bases de données au sein d'une même transaction Ces lacunes :

· Le prix ;

· Un système difficile à maîtriser.

? POSTGRESQL :

 
 

C'est un système de gestion de base de données relationnelle et objet (SGBDRO). C'est un outil libre, non contrôlé par une entreprise, mais par une communauté mondiale de développeurs et d'organisations. Tableau 6 : Comparaison entre les SGBD

 

Qu'est-ce qui le rend populaire ?

· Open-source ;

· Facile à utiliser ;

· Possède un type de données défini par l'utilisateur ;

· Une grande communauté. Ces lacunes :

· L'un des plus mauvais en termes de performances ;

Bachelor Degree Promotion sortante 2023

20

Mise en place d'un portail web

· La réplication est complexe ;

· Difficile à installer.

? MySQL :

MySQL est un système de gestion de bases de données relationnelles (SGBDR). Il fait partie des logiciels de gestion de base de données les plus utilisés. C'est un logiciel libre, open source, développé sous double licence selon qu'il est distribué avec un produit libre ou avec un produit propriétaire.

Qu'est-ce qui le rend populaire ?

· La base de données la plus utilisée au monde ;

· Facile à utiliser

· De bonnes performances ;

· Plusieurs fonctionnalités pour sécuriser ses données ;

· Open-source. Ces lacunes :

· Les performances du système se détériorent à partir d'un certain volume de données.

C'est le SGBD que nous utilisons pour notre application.

3 - Les Frameworks

Dans le domaine numérique hautement concurrentiel d'aujourd'hui, les développeurs sont continuellement à la recherche de cadres ou d'outils de développement d'applications qui peuvent rendre leur travail plus gérable et réduire les coûts et le temps de développement d'applications.

Un cadre de développement d'applications Web est comme un carton de blocs que vous pouvez utiliser pour créer tout ce dont vous avez besoin. Vous pouvez dire une plate-forme avec une collection d'outils de programmation, de modules et de bibliothèques de base prêts à l'emploi qui sont utilisés pour créer des produits logiciels. Ces frameworks fournissent aux développeurs les fonctionnalités et outils essentiels et présentent les règles de construction de l'architecture des applications, sites Web, services, API et autres solutions. Par conséquent, les développeurs peuvent créer instantanément la conception de votre projet et l'étirer davantage selon les conditions et les exigences spécifiées.

Bachelor Degree Promotion sortante 2023

21

Mise en place d'un portail web

Les frameworks de développement d'applications Web sont personnalisables, ce qui signifie que vous pouvez utiliser des composants et des modèles prêts à l'emploi et les adapter à vos besoins particuliers. Vous pouvez également implémenter votre code dans la plate-forme. Un framework peut également incorporer des bibliothèques de code, des langages de script, des programmes utilitaires et d'autres logiciels pour promouvoir la croissance et l'intégration de différents composants d'un grand projet logiciel.

Nous listons ici quelques-uns des plus populaires :

? Angular :

Angular est un framework open source écrit en TypeScript, il est utilisé pour créer des applications Web à grande échelle hautes performances et convaincantes. Si nous associons ce framework à d'autres frameworks d'applications Web, Angular présente des avantages

évidents tout en fournissant une structure standard aux développeurs avec beaucoup de

flexibilité et un ensemble de fonctions plus riche. Il permet aux utilisateurs de créer de

grandes applications avec une liaison et une dépendance bidirectionnelles.

Qu'est-ce qui le rend populaire ?

· Ce cadre dispose d'une fonction de liaison de données bidirectionnelle.

· Il existe plusieurs intégrations tierces que vous pouvez ajouter facilement.

· Il nécessite moins de code avec des performances de serveur améliorées.

· Il est préférable de créer des sites optimisés pour le référencement et des applications d'une seule page.

· Amélioration des performances du serveur avec un prototypage d'applications plus rapide.

Lacunes :

· Il faut du temps pour apprendre, car Angular apporte ses propres règles lorsque les développeurs commencent à l'utiliser.

· Il a des limitations sur les routeurs.

· Il a plusieurs versions qui confondent les développeurs quant à la version à utiliser.

· Ici, une application simple nécessite également beaucoup de codage, ainsi que de la complexité lors de l'installation.

Bachelor Degree Promotion sortante 2023

22

Mise en place d'un portail web

? Django :

Django est un framework web Python de haut niveau écrit en Python, c'est un framework web côté serveur extrêmement populaire et complet. Ce framework se concentre principalement sur la réutilisabilité et la connectabilité des composants et développe des applications Web avec un code

lisible, propre et maintenable. C'est un cadre pour des délais stricts.

Qu'est-ce qui le rend populaire ?

· Django a une meilleure connectivité CDN et une meilleure gestion de contenu.

· L'un des avantages les plus importants de Django est qu'il permet un développement plus rapide.

· Le développement d'applications Django est choisi par les développeurs tout en travaillant avec des algorithmes d'apprentissage automatique.

· Il offre un développement et un traitement rapides et prend également en charge la programmation MVC.

Lacunes :

· Le framework Django a une manière spécifique de décrire et d'effectuer des tâches.

· Ce n'est pas pour les petits projets.

· Ce framework n'est pas capable de gérer plusieurs requêtes simultanément.

· Une connaissance approfondie de ce système est nécessaire.

Nous utilisons ce framework pour la réalisation de notre projet ? Express.js:

Express.js est un framework très pratique et facile à utiliser pour Node.js. Ce framework simplifie le processus de développement en fournissant un ensemble d'outils, de packages, de plugins et de fonctionnalités utiles. Étant flexible, rapide et minimal, le développement Express JS favorise le rendu d'objets HTTP dynamiques. Il est rentable pour le développement d'applications Web et mobiles.

Qu'est-ce qui le rend populaire ?

Bachelor Degree Promotion sortante 2023

23

Mise en place d'un portail web

· Le framework Express.js vous permet d'utiliser le même langage, c'est-à-dire JavaScript, à la fois sur le back-end et le front-end.

· Express JS est une excellente option pour les applications qui gèrent de nombreuses notifications et demandes des utilisateurs.

· Intégration facile de services tiers.

· Fournit des performances élevées et le meilleur pour développer des applications d'une seule page.

Lacunes :

· Il a une structure de code difficile.

· Absence d'un solide système de soutien aux bibliothèques.

· Middleware pas adéquat.

· Il n'est pas efficace dans la gestion des applications gourmandes en CPU.

· Le modèle de programmation asynchrone et l'API ne sont pas stables. ? Bootstrap :

Le framework Bootstrap est un ensemble de fichiers CSS et JavaScript qui contiennent des règles prédéfinies et qui définissent des composants. Ces ensembles de règles sont enfermés dans des classes et vous n'aurez donc qu'à utiliser les classes qui vous intéressent afin d'appliquer un ensemble de styles à tel ou tel élément HTML.

Qu'est-ce qui le rend populaire ?

· Un gain de temps de développement qui peut être conséquent ;

· Une certaine robustesse dans l'architecture globale du code ;

· Un framework appartenant à une grande société (Twitter).

Lacunes :

· C'est un framework relativement lourd à charger.

· Temps d'apprentissage élevé.

· Nombre élevé de fichiers, maintenance difficile.

· Toute tentative de personnalisation nécessite de toucher le code source.

Nous utilisons ce framework pour la réalisation de notre projet

Bachelor Degree Promotion sortante 2023

24

Mise en place d'un portail web

IV - Conclusion

Dans ce chapitre, nous avons vu quelques notions sur le web et ses principes, les applications web et les modalités qui se rapportent au développement de ce type d'application.

Bachelor Degree Promotion sortante 2023

25

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

26

CHAPITRE III :

Mise en place d'un portail web

Introduction

Dans le but d'une meilleure organisation et une bonne maîtrise du travail, tout processus de développement d'applications ou systèmes informatiques doit suivre une méthode ou démarche bien définie.

Dans ce chapitre nous allons entamer le développement de notre application par une analyse qui mettra en évidence les différents acteurs intervenants dans le système ainsi que leurs besoins. La phase conception, s'appuyant sur les résultats de cette analyse, donnera la modélisation des objectifs à atteindre.

I - Méthodes d'analyse et de conception

En ingénierie, une méthode d'analyse et de conception est un procédé qui a pour objectif de permettre de formaliser les étapes préliminaires du développement d'un système afin de rendre ce développement plus fidèle aux besoins du client. Pour ce faire, on part d'un énoncé informel (le besoin tel qu'il est exprimé par le client, complété par des recherches d'informations auprès des experts du domaine fonctionnel, comme les futurs utilisateurs d'un logiciel), ainsi que de l'analyse de l'existant éventuel (c'est-à-dire la manière dont les processus à traiter par le système se déroulent actuellement chez le client).

La phase d'analyse permet de lister les résultats attendus, en termes de fonctionnalités, de performance, de robustesse, de maintenance, de sécurité, d'extensibilité.

La phase de conception permet de décrire de manière non ambiguë, le plus souvent en utilisant un langage de modélisation, le fonctionnement futur du système, afin d'en faciliter la réalisation.

1 - Exemples de méthodes d'analyse et de conception
1.1 - La méthode Merise

La méthode Merise est une méthode de conception, de développement et de réalisation de projets informatiques. Le but de cette méthode est d'arriver à concevoir un système d'information. La méthode Merise est basée sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels et physiques.

Bachelor Degree Promotion sortante 2023

27

Mise en place d'un portail web

La méthode Merise propose une démarche articulée simultanément selon trois (3) axes pour hiérarchiser les préoccupations et les questions auxquelles répondre lors de la conduite d'un projet :

> Cycle de vie : phase de conception, de réalisation, de maintenance puis nouveau cycle de projet ;

> Cycle de décision : des grands choix (étude préalable), la définition du projet (étude détaillée) jusqu'aux petites décisions des détails de la réalisation et de la mise en oeuvre du système d'information. Chaque étape est documentée et marquée par une prise de décision.

> Cycle d'abstraction : niveaux conceptuels, d'organisation, logique et
physique/opérationnel (du plus abstrait au plus concret). L'objectif de ce cycle est de prendre d'abord les grandes décisions métier, pour les principales activités (conceptuel) sans rentrer dans le détail de questions d'ordre de l'organisation ou technique.

1.2 - La méthode 2TUP

2TUP (2 tracks unified process), ou T2UP, est un processus de développement logiciel qui met en oeuvre la méthode du processus Unifié. Le 2TUP propose un cycle de développement en Y, qui dissocie les aspects techniques des aspects fonctionnels. Il commence par une étude préliminaire qui consiste essentiellement à identifier les acteurs qui vont interagir avec le système à construire, les messages qu'échangent les acteurs et le système, à produire le cahier des charges et à modéliser le contexte.

Le processus s'articule ensuite autour de trois phases essentielles :

> Une branche technique ;

> Une branche fonctionnelle ;

> Une phase de réalisation.

La branche technique capitalise un savoir-faire technique et/ou des contraintes techniques. Les techniques développées pour le système le sont indépendamment des fonctions à réaliser. La branche fonctionnelle capitalise la connaissance du métier de l'entreprise. Cette branche capture des besoins fonctionnels, ce qui produit un modèle focalisé sur le métier des utilisateurs finaux.

La phase de réalisation consiste à réunir les deux branches, permettant de mener une conception applicative et enfin la livraison d'une solution adaptée aux besoins.

Bachelor Degree Promotion sortante 2023

28

Mise en place d'un portail web

2 - Méthodes utilisées pour notre projet (UML)

L'ensemble de notre démarche va s'appuyer sur le langage UML, conçu pour la visualisation, la spécification et la construction des systèmes logiciels.

2.1 - Définitions

UML (Unified Modeling Language) est un langage de modélisation unifié (ou universel) et non pas une méthode. UML a été conçu pour permettre la modélisation de tous les phénomènes de l'activité de l'entreprise (processus métier, systèmes d'informations, systèmes informatiques, composants logiciels...) indépendamment des techniques d'implémentations (langage de programmation...) employés par la suite.

2.2 - Les diagrammes UML

Le langage UML est décrit par un méta-modèle, c'est-à-dire une représentation simple, mais rigoureuse, de ses constituants élémentaires, avec leurs règles d'utilisations et de syntaxe. Un diagramme est défini par les auteurs d'UML comme la représentation graphique d'un ensemble sélectionné de constituants UML. Ils ont élaboré treize (13) diagrammes, chacun d'eux étant dédié à la représentation des concepts particuliers d'un système logiciel. Une classification courante distingue les diagrammes qui traduisent la structure et les diagrammes qui présentent le comportement du système étudié. Parmi ces diagrammes, on a choisi les suivants qui sont suffisant pour étudier et analyser notre projet:

? Le diagramme de cas d'utilisation.

? Le diagramme de classes.

? Le diagramme de séquence.

? Le diagramme d'activité.

2.3 - Outils de modélisation

Parmi l'offre abondante des outils de modélisation, notre choix s'est porté sur le logiciel StarUML 2.

 

StarUML 2 est un logiciel de modélisation UML disponible en Open Source. Via cette plateforme, vous serez en mesure de concevoir une dizaine de types de diagrammes. Il est facile d'accès.

Outre celui que nous avons utilisé il existe plusieurs capables de faire le même travail, nous pouvons citer :

Bachelor Degree Promotion sortante 2023

29

Mise en place d'un portail web

> PowerAMC :

 

C'est est un outil cher mais permet une modélisation extrêmement complète et performante. Il permet de modéliser les traitements informatiques et leurs bases de données associées.

> Diagrams.net :

C'est un logiciel de dessin graphique multiplateforme gratuit et open source développé en HTML5 et JavaScript. Son interface peut être utilisée pour créer des diagrammes tels que des organigrammes, des structures filaires, des diagrammes UML et des diagrammes de réseau.

II - Analyse

L'objectif de cette partie est la spécification de manière claire et concise de l'application. On va de ce fait procéder à la définition des utilisateurs, ainsi que leurs besoins respectifs auxquels l'application est tenue d'apporter des réponses.

1 - Identification des besoins
1.1 - Besoins fonctionnels

Ce sont les fonctionnalités du système :

> Gestion des notes : cette fonctionnalité permet de noter les étudiants, compiler et partager ses notes sous formes des PVs ou relevés des notes ;

> Gestion des étudiants : cette fonctionnalité permet d'ajouter les étudiants admis à l'université et la mise à jour de leurs informations ;

> Gestion des enseignants : cette fonctionnalité permet d'ajouter les enseignants, de leur attribuer des modules, de vérifier leurs popularités auprès des étudiants ainsi que la mise à jour de leurs informations ;

> Gestion des modules : Cette fonctionnalité permet d'ajouter des modules et la mise à jour de leurs informations ;

Bachelor Degree Promotion sortante 2023

30

Mise en place d'un portail web

1.2 - Besoins non fonctionnels

Ce sont des besoins qui caractérisent le système, qui sont nécessaire pour un meilleur fonctionnement du système et qui permettront aux utilisateurs d'être à l'aise quant à son utilisation.

Dans notre projet, les besoins à satisfaire sont les suivants :

y' Compatibilité et adaptabilité avec tous les navigateurs et systèmes d'exploitation ; y' Ergonomie : le système doit présenter les interfaces sur lesquelles les utilisateurs se sentiront bien ;

y' Sécurité et confidentialité : qui sont primordiales car il s'agit des données à caractère personnelles ;

y' Performance et rapidité ;

y' Evolutivité : le système doit être en mesure d'accueillir de nouvelles fonctionnalités ; y' Maintenance : le système doit être de telle sorte que la maintenance soit facile.

2 - Identification des acteurs

Définition :

Un acteur représente le rôle d'une entité externe (utilisateur humain ou non) interagissant avec le système. Il n'appartient pas au système mais il fournit de l'information en entrée et/ou la reçoit en sortie.

Nous avons identifié les quatre types d'acteurs suivants :

1. L'Enseignant : C'est un rôle qui peut être joué par tous les enseignants du département.

2. L'Etudiant : C'est un rôle qui peut être joué par tous les étudiants de département.

3. Le Chef de département : c'est un rôle qui peut être joué par la personne qui s'occupe de la direction du département.

4. Administrateur : c'est un rôle qui peut être joué par la personne qui est chargée de l'administration de la base de données.

3 - Identification des cas d'utilisation

Un cas d'utilisation représente un ensemble de séquences qui sont réalisées par le système en réponse à une action d'un acteur et qui produisent un résultat observable. Les cas d'utilisation décrivent ce que le système devra faire sans spécifier comment le faire. Le tableau suivant récapitule les cas d'utilisation de chaque acteur de notre application :

Bachelor Degree Promotion sortante 2023

31

Mise en place d'un portail web

NB : Il existe une tâche antérieure que T1 que chaque acteur doit réaliser avant de pouvoir accéder à son portail : il s'agit de la tâche T0 : L'inscription. Il s'agit d'une tache particulière qui aura lieu une seule fois ou jamais.

Acteurs

Les taches

Etudiant

T1 : Se connecter au site

T2 : S'authentifier

T3 : Consulter les infos de sa scolarité

T4 : Consulter ses enseignants

T5 : Apprécier ses enseignants

T6 : Consulter ses modules

T7 : Consulter les documents de cours

T8 : Consulter ses notes

T9 : Consulter les PV globaux

T10 : Changer son mot de passe

T11 : Changer son profil

Enseignant

T1,

T12 : S'authentifier

T13 : Gérer les notes des étudiants

T14 : Consulter ses modules

T15 : Rattacher des documents

T16 : Changer son mot de passe.

T17 : Changer sa photo de profil

Chef de département

T1,

T18 : S'authentifier.

T19 : Editer les PV globaux de délibérations.

T20 : Gérer les enseignants (ajouter, supprimer)

T21 : Gérer les modules (ajouter, supprimer)

T22 : Affecter les enseignants

T23 : Consultation des PV de délibérations.

T24 : Changer son mot de passe.

T25 : Changer son profil

Bachelor Degree Promotion sortante 2023

32

Mise en place d'un portail web

Administrateur T1,

T26 : S'authentifier

T27 : Gérer les comptes des utilisateurs

T28 : Changer de mot de passe

T29 : Changer son profil

3.1 - Spécification des scénarios

Chacun des acteurs qu'on a définis effectue des tâches et chaque tâche est décrite par des scenarios qu'on résume comme suit :

Acteurs

Les taches

Scénarios

E t u d i a n t

T1 : Visiter le site

S1 : Saisir l'url du site

T2 : S'authentifier

S1 :

S2 : Cliquez sur le lien « Se
connecter »

S3 : Remplir le formulaire et Valider

T3 : Consulter les infos de sa scolarité

S1, S2, S3

S4 : Cliquez sur le lien « Ma
scolarité »

T4 : Consulter ses enseignants

S1, S2, S3

S5 : Cliquez sur le lien « Mes
enseignants»

T5 : Apprécier ses enseignants

S1, S2, S3, S5

S6 : Sélectionner un enseignant

S7 : Cliquez sur le bouton « Donner une appréciation »

S8 : Remplir le formulaire et Valider

Bachelor Degree Promotion sortante 2023

33

Mise en place d'un portail web

 

T6 : Consulter ses modules

S1, S2, S3

S9 : Cliquez sur le lien « Mes
modules »

T7 : Consulter les documents de cours d'un module

S1, S2, S3, S9

S10 : Sélectionner un module

S11 : Cliquez sur le lien
« Documents»

S12 : Sélectionner un document

S13 : Cliquez sur le bouton
« Télécharger »

T8 : Consulter ses notes

S1, S2, S3

S14 : Cliquez sur le lien « Mes
notes»

T9 : Consulter les PV globaux

S1, S2, S3

S15 : Cliquez sur le lien « PV»

S16 : Sélectionner un PV

S17 : Cliquez sur le bouton
« Télécharger »

T10 : Changer son mot de passe

S1, S2, S3

S18 : Cliquer sur le lien «changer de mot de passe»

S19 : Remplir le formulaire puis valider

Bachelor Degree Promotion sortante 2023

34

Mise en place d'un portail web

 

T11 : Changer sa photo profil

S1, S2, S3

S20 : Cliquer sur le lien «changer de photo de profil»

S21 : Remplir le formulaire puis
valider

Enseignant

T1,

T12 : S'authentifier

S1, S2, S3

T13 : Noter ses étudiants

S1, S2, S3

S22 : sur le menu «gérer les notes»

S23 : Choisir l'ajout, la suppression ou la modification

S24 : remplir le formulaire puis
valider

T14 : Consulter ses modules

S1, S2, S3

S25 : Cliquer sur le lien «mes
modules»

T15 : Attacher des documents

S1, S2, S3, S25

S26 : Choisir le module

S27 : Cliquez sur le bouton
« Rattacher un fichier »

S28 : remplir le formulaire puis
valider

T16 : Changer son mot de passe

S1, S2, S3

S28 : Cliquer sur le lien «changer de

Bachelor Degree Promotion sortante 2023

35

Mise en place d'un portail web

 
 

mot de passe»

S29 : Remplir le formulaire puis valider

T17 : Changer sa photo profil

S1, S2, S3

S30 : Cliquer sur le lien «changer de photo de profil»

S31 : Remplir le formulaire puis
valider

Chef d e département

T1,

T18 : S'authentifier

S1, S2, S3

T19 : Editer les PV globaux de délibérations

S1, S2, S3

S32 : Cliquer sur le lien «Edition de PV modulaire»

S33 : Remplir le formulaire et
valider

T20 : Gérer les enseignants (ajouter, supprimer)

S1, S2, S3

S34 : Sur le menu «gestion des enseignants » fait le Choix (ajouter, consulter, supprimer)

S35 : Remplir le formulaire et valider

T21 : Gérer les modules (ajouter, supprimer)

S1, S2, S3

S36 : Sur le menu «gestion des

modules» fait le Choix (ajouter,
consulter, supprimer)

S37 : Remplir le formulaire et
valider

T22 : Affecter les enseignants aux modules

S1, S2, S3, S36

S38 : remplir le formulaire et valider

Bachelor Degree Promotion sortante 2023

36

Mise en place d'un portail web

 

T23 : Consultation des PV de délibérations.

S1, S2, S3

S39 : Cliquer sur le lien « PV
globaux de délibération »

T24 : Changer son mot de passe.

S1, S2, S3

S40 : Cliquer sur le lien «changer de mot de passe»

S41 : Remplir le formulaire puis
valider

T25 : Changer son profil

S1, S2, S3

S42 : Cliquer sur le lien «changer de photo de profil»

S43 : Remplir le formulaire puis valider

Administrateur

T1,

T26 : S'authentifier

S44 : Saisir le l'url du site

d'administration

S45 : Remplir le formulaire puis valider

T27 : Gérer les comptes des utilisateurs

S44, S45

S46 : Sur la barre de navigation, cliquez sur le lien «comptes », faire

le choix (modifier, ajouter,
supprimer)

S47 : Remplir le formulaire et
valider

T28 : Gérer le site d'administration

S44, S45

S48 : Sur la barre de navigation,

cliquer sur le lien faculté ou

(département, filière, niveau,...),

faire le choix (modifier, ajouter,
supprimer)

S49 : Remplir le formulaire puis valider

T29 : Changer de mot de passe

S44, S45

S50 : Cliquer sur le lien «changer de

Bachelor Degree Promotion sortante 2023

37

Mise en place d'un portail web

mot de passe»

S51 : Remplir le formulaire puis valider

NB : Les scénarios décrits ici-bas sont les scénarios de l'accomplissement de la tache particulière T0 « Inscription ».

? S1,

? S50 : Cliquez sur le lien « s'inscrire »

? S51 : Remplir le formulaire et valider

3.2 - Spécification de quelques cas d'utilisation

Le cas d'utilisation (ou use case) correspond à un objectif du système, motivé par un besoin d'un ou plusieurs acteurs. L'ensemble des uses cases décrit les objectifs (le but) du système.

? Etudiant :

? Cas d'utilisation « Inscription » :

Use Case : Inscription Rôle : étudiant.

Scénarios: S1, S50, S51 Description:

1 : L'étudiant clique sur le lien « s'inscrire »

2 : Le système affiche le formulaire d'inscription

3 : L'étudiant remplit le formulaire et valide

4 : le système affiche le message d'erreur si le formulaire est mal remplit sinon

5 : Le système affiche le message de succès et la page de connexion.

? Cas d'utilisation « Authentification »

Use Case : Authentification Rôle : étudiant.

Scénarios: S1, S2, S3

Description:

1 : L'étudiant clique sur le lien « s'authentifier »

2 : Le système affiche le formulaire d'authentification

3 : L'étudiant remplit le formulaire et valide

4 : le système affiche le message d'erreur si le formulaire est mal remplit sinon

5 : Le système affiche l'espace étudiant.

? Cas d'utilisation « Consulter les PV globaux »

Bachelor Degree Promotion sortante 2023

38

Bachelor Degree Promotion sortante 2023

39

Mise en place d'un portail web

Use Case : Consulter les PV globaux Rôle : étudiant.

Scénarios: S1, S2, S3, S15, S16, S17 Description :

1 : L'étudiant clique sur le lien « Consulter PV»

2 : Le système affiche le PV de la section de l'étudiant ainsi qu'un lien pour consulter les PV des autres sections

3 : l'étudiant remplit le formulaire et valide

4 : Le système affiche le PV de délibération

5 : L'étudiant clique sur « télécharger » pour enregistrer le PV si besoin

? Enseignant

? Cas d'utilisation « Noter ses étudiants »

Use Case : Noter ses étudiants

Rôle : Enseignant

Scénarios: S1, S2, S3, S22, S23, S24 Description :

1 : L'enseignant clique sur le lien « Mes étudiants »

2 : Le système affiche pour chaque module de l'enseignant une liste d'étudiants qui ont ce module

3 : l'enseignant choisit la liste à noter

4 : Le système affiche le formulaire de notation

5 : L'enseignant remplit le formulaire et valide en cliquant sur « enregistrer »

6 : Le système affiche le message d'erreur si il y a une erreur sinon

7 : Le système affiche le message de succès

? Cas d'utilisation « Attacher un document »

Use Case : Attacher un document Rôle : Enseignant

Scénarios: S1, S2, S3, S26, S27, S28 Description :

1 : L'enseignant clique sur le lien « Mes modules »

2 : Le système affiche la liste des modules de l'enseignant

3 : l'enseignant choisit un module et clique sur attacher un fichier

4 : Le système affiche le formulaire pour uploader le fichier

5 : L'enseignant remplit le formulaire et valide en cliquant sur « enregistrer »

6 : Le système affiche le message d'erreur si il y a une erreur sinon

7 : Le système affiche le message de succès

? Chef de département

? Cas d'utilisation « Editer les PV globaux »

Mise en place d'un portail web

Use Case: Editer les PV globaux Rôle : Chef de département Scénarios: S1, S2, S3, S32, S33 Description :

1 : Le chef clique sur le lien «Edition des PV »

2 : Le système affiche le formulaire d'édition de PV

3 : Le chef remplit le formulaire et valide en cliquant sur « enregistrer »

4 : Le système affiche le message d'erreur si il y a une erreur sinon

5 : Le système affiche le message de succès

? Cas d'utilisation « Changement de photo de profil »

Use Case : Changement de photo de profil Rôle : Chef de département

Scénarios: S1, S2, S3, S32, S33

Description :

1 : Le chef clique sur le lien « Changer de photo de profil »

2 : Le système affiche le formulaire de choix de la photo

3 : Le chef remplit le formulaire en choisissant la nouvelle photo et clique sur « enregistrer »

4 : Le système affiche le message d'erreur si il y a une erreur sinon

5 : Le système affiche le message de succès

? Administrateur

? Cas d'utilisation « changement de mot de passe »

Use Case : Changement de mot de passe Rôle : Chef de département

Scénarios : S44, S45, S50, S51

Description :

1: L'admin clique sur le lien « Changement de mot de passe »

2 : Le système affiche le formulaire de modification

3 : L'admin remplit le formulaire et valide

4 : Le système affiche le message d'erreur si il y a une erreur sinon

5 : Le système affiche le message de succès

3.3 - Diagramme de cas d'utilisation

Le diagramme de cas d'utilisation est un diagramme UML utilisé pour donner une vision globale du comportement fonctionnel d'un système logiciel.

Bachelor Degree Promotion sortante 2023

40

Mise en place d'un portail web

Etudiant

e
·»

«exte

Photo de profil

Espace Etudiant

«include»


·

Consulter sa scolarité

«include»

Voir ses modules

«extend»

Télécharger les documents

cnude»

Voir ses enseignants

«extend» V

Apprecier ses enseignants elude»

Voir ses notes

Consulter les PV globaux

«extend»

Y

.-----Télécharger les documents

K ncude»

Modifier le profil utilisateur

Cconnecter

Bachelor Degree

( 41 )

Promotion sortante 2023

Figure 6 : Diagramme des cas d'utilisation pour étudiant

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

42

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

43

Mise en place d'un portail web

III - Conception

Le but principal de la conception est de rendre le modèle d'analyse réalisable sous forme logicielle, c'est ici que les abstractions métiers viennent pour la première fois, au contact de la réalité logicielle. Pour modéliser la conception de notre application, nous avons utilisé l'extension d'UML pour le web, en construisant les diagrammes de séquences, d'activité suivis des diagrammes de classes.

1 - Style Architectural

Sur ce point nous allons parler de la conception de l'architecture logicielle et la définition de l'architecture de notre système.

1.1 - Architecture logicielle

L'architecture logicielle décrit les différents éléments d'une application et leurs interactions. La conception de l'architecture est donc une étape particulièrement cruciale du développement logiciel. De cette phase, va dépendre la stabilité, la robustesse ou encore la scalabilité d'une application.

D'après P. Kruchten, l'architecture logicielle se représente selon « 4+1 » vues :

1. Vue Logique : elle se concentre sur la modélisation des principaux éléments d'architecture et mécanismes logiciels, la définition des éléments du domaine (objets métier, diagrammes d'états de ces objets...). Elle comprend en particulier les modèles d'analyse et de conception du système, c'est la vue des équipes de conception et développement.

2. Vue Composants (ou vue Implémentation) : elle permet d'identifier les modules (composants logiciels) qui implémentent les éléments définis dans la vue logique, de les regrouper en composants logiciels, d'identifier les dépendances d'intégration entre ces composants ; c'est la vue des équipes d'intégration.

3. Vue Processus : en environnement multitâches, cette vue de l'architecture permet de définir les processus, la coordination et la synchronisation des processus, les threads d'exécution. Cette vue est optionnelle et n'est utile que dans le cas d'architectures complexes multitâches.

4. Vue Déploiement : elle précise l'architecture de production (ressources matérielles, implantation des composants, pilotage...) Cette vue permettra par exemple de s'assurer que l'application répond aux contraintes de déploiement, aux exigences de qualité de service (montée en charge, temps de réponse, haute disponibilité...) et s'intègre aux infrastructures de supervision.

Bachelor Degree Promotion sortante 2023

44

Mise en place d'un portail web

5. Vue Use-Cases (vue « +1 ») : elle se concentre sur un sous-ensemble des cas d'utilisation qui ont une influence significative sur l'architecture du système. Ces use cases structurants permettent d'identifier les fonctionnalités et contraintes importantes, les risques majeurs de l'architecture, ce sont eux qui guident l'élaboration des quatre autres vues de l'architecture, de la conception à la mise en production de l'application.

L'architecture client/serveur à 3 niveaux est le type d'architecture que nous mettons en oeuvre dans la conception de notre application. L'architecture à trois niveaux (appelée architecture 3 tiers) comprend le client, le serveur d'application (appelé aussi middleware) qui est le serveur chargé de fournir la ressource mais faisant appel à un autre serveur, et le serveur secondaire (généralement un serveur de bases de données) fournissant un service au premier serveur. Les applications de l'architecture client/serveur à trois niveaux sont plus faciles à déployer sur le réseau, elles essayent de minimiser les échanges sur le réseau en créant des niveaux de service.

Le modèle de communication établit une hiérarchie entre les couches :

? Le client envoie une requête à l'application et attend sa réponse.

? La couche application reçoit la requête et effectue un traitement particulier. À son tour, elle communique avec la base de données pour lui donner des données à stocker ou lui demander certaines informations nécessaires au traitement.

? Une fois les données reçues par l'application, le traitement peut continuer et elle va pouvoir répondre à la requête initiale du client.

L'architecture 3 tiers fonctionne selon le schéma suivant :

Bachelor Degree Promotion sortante 2023

45

Mise en place d'un portail web

1.2 - Architecture système

L'architecture d'un système est un modèle qui définit la structure, le comportement et la vue d'un système.

Notre architecture sera basée sur l'architecture qui est utilisée par notre framework de base Django.

? Django utilise l'architecture MVT (modèle-vue-template) qui s'inspire de MVC: Le modèle interagit avec une base de données via un ORM. Tous les modèles sont réunis dans un fichier python models.py.

? La vue reçoit une requête HTTP et renvoie une réponse HTTP convenable (par exemple si la requête est une interaction avec une base de données, la vue appelle un modèle pour récupérer les items demandés). Les vues se trouvent dans le fichier views.py

? Le template est un fichier HTML récupéré par la vue et envoyé au visiteur avec les données des modèles.

La figure ci-dessous montre comment les différents composants de l'architecture MVT de Django interagissent pour répondre à la requête d'un utilisateur. Ici le contrôleur ne correspond pas au contrôleur du MVC, mais à Django en lui-même qui gère en interne tout ce qui est liée au choix de la vue à laquelle envoyer la requête HTTP,...

Bachelor Degree Promotion sortante 2023

46

Mise en place d'un portail web

2 - Diagramme de contexte

Le diagramme de contexte est un modèle conceptuel qui permet d'avoir une vision globale des interactions entre le système et les liens avec l'environnement extérieur. Nous commençons par ce dernier pour tirer les meilleures conclusions de la partie d'analyse après quoi le diagramme de contexte dans notre cas apparait comme représenté par la figure suivante :

3 - Diagramme de séquence

Selon le formalisme UML (Unified Modeling Language), les diagrammes de séquences détaillés représentent graphiquement les interactions (acteurs-systèmes) dans l'évolution temporelle. Les acteurs interagissent donc avec les pages clients et les pages serveurs qui sont utiles pour les interactions avec les ressources du serveur. Nous allons décrire ci-dessous quelques diagrammes de séquences des cas d'utilisation importants.

? Tout Utilisateur :

Bachelor Degree Promotion sortante 2023

47

Mise en place d'un portail web

? Cas d'utilisation « Inscription »

Bachelor Degree Promotion sortante 2023

48

Mise en place d'un portail web

? Cas d'utilisation « Authentification »

Bachelor Degree Promotion sortante 2023

49

Mise en place d'un portail web

? Cas d'utilisation « Changer son mot de passe »

Bachelor Degree Promotion sortante 2023

50

Mise en place d'un portail web

? Etudiant :

? Cas d'utilisation « Consulter les PV globaux »

Bachelor Degree Promotion sortante 2023

51

Mise en place d'un portail web

? Cas d'utilisation « Télécharger les documents de cours »

Bachelor Degree Promotion sortante 2023

52

Mise en place d'un portail web

? Enseignant :

? Cas d'utilisation « Noter ses étudiants »

Bachelor Degree Promotion sortante 2023

53

Mise en place d'un portail web

? Chef de département :

? Cas d'utilisation « Editer les PV globaux »

Bachelor Degree Promotion sortante 2023

54

Mise en place d'un portail web

4 - Diagramme d'activité

Un diagramme d'activités est semblable à un organigramme. Il se focalise sur le flot des activités impliquées dans un processus unique, il permet la représentation graphique du comportement d'une méthode ou le déroulement d'un cas d'utilisation.

? Diagramme d'activité pour cas d'utilisation « Inscription »

Bachelor Degree Promotion sortante 2023

55

Mise en place d'un portail web

? Diagramme d'activité pour cas d'utilisation « Authentification »

Bachelor Degree Promotion sortante 2023

56

Mise en place d'un portail web

? Diagramme d'activité pour cas d'utilisation « Changer de mot de passe »

Bachelor Degree Promotion sortante 2023

57

Mise en place d'un portail web

? Diagramme d'activité pour cas d'utilisation « Télécharger les documents de cours »

Bachelor Degree Promotion sortante 2023

58

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

59

? Diagramme d'activité pour cas d'utilisation « Consulter les PV globaux »

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

60

? Diagramme d'activité pour cas d'utilisation « Noter ses étudiant »

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

61

? Diagramme d'activité pour cas d'utilisation « Editer les PV globaux »

Mise en place d'un portail web

5 - Diagramme de classe globale de données

Un diagramme de classe est non seulement utilisé pour décrire les structures des objets et des informations dans une application, mais aussi pour montrer la communication avec ses utilisateurs. Il offre un large éventail d'utilisations, de la modélisation de la vue statique d'une application à la description des responsabilités d'un système.

Bachelor Degree Promotion sortante 2023

62

Mise en place d'un portail web

6 - Création de la base de données
6.1 - Définition d'une base de donnée

Une Base de Données (BDD) est un ensemble de données structurées, avec une redondance calculée et accessible aisément par plusieurs programmes, qui les utilisent selon des objectifs distincts. Les propriétés des données ainsi que les relations sémantiques entre ces données sont spécifiées en utilisant les concepts proposés par le modèle de donnée. Cette organisation a pour objectif de pouvoir effectuer des inférences sur ces données sous forme de requêtes. Les bases de données sont manipulées par un système de gestion de base de données (SGBD).

6.2 - Passage au relationnel

Afin de pouvoir implémenter une base de données, il faut pouvoir traduire le modèle conceptuel en modèle logique. Cela signifie qu'il faut pouvoir convertir le modèle UML en modèle relationnel. Le principe est le suivant :

? Une classe dans le diagramme de classe correspond à une table dans la base de données, l'identifiant de la classe correspondra alors à la clé primaire de la table et ses propriétés correspondront aux colonnes de la table.

? Une association binaire avec un lien de cardinalités maximales plusieurs, devient une classe associative et donne lieu à une table supplémentaire dans la base de données.

? Une association avec un lien de cardinalité maximale 1 et 1 de part et d'autre de l'association, donne lieu à un référencement dans l'une des tables.

? Pour le lien d'héritage, la classe mère va disparaître pour laisser place aux tables filles. La classe mère distribue alors les attributs aux classes.

Ainsi le tableau suivant nous donne un aperçu de notre base de données en nous permettant d'observer les différents changements qui seront engendrés par le passage du diagramme de classe au modèle relationnel.

Bachelor Degree Promotion sortante 2023

63

Mise en place d'un portail web

Ce qui nous permet d'écrire notre model relationnel comme suit :

Etudiant (mat_etd, nom_etd, prenom_etd, sexe_etd, datenai_etd, tel_etd, email_etd, lieunai_etd, codevalidation, id_niveau*, nom_utilisateur, motdepasse)

Enseignant (mat_eng, nom_eng, prenom_eng, type_eng, estchef_eng, email_eng, tel_eng, codevalidation, nom_utilisateur, motdepasse)

Filière (nom_fil, cycle_fil, nombreAnne_fil, id_departement*)

Département (nom_dep, datecreation_dep, nom_falculte, id_enseignant*(chef))

Niveau (libelle_niv, numero_niv, id_filière*)

Semestre (nom_semeste, id_niveau*)

Module (libelle_mod, code_mod, id_niveau*, id_enseignant*)

Document (nom_document, id_module*)

Noter (note1, note2, note3, id_etudiant*, id_module*, total100, mention)

Appréciation (valeur, id_enseignant*)

InfoScolarité (montant_payé, montant_restant, id_etudiant*)

PV (fiche_pv, id_niveau*)

Conclusion

Ce chapitre nous a permis d'analyser les besoins des utilisateurs et des fonctionnalités que doit avoir notre application. Cette analyse nous a permis ensuite de conceptualiser et de modéliser notre solution. Ainsi, après cette partie, nous allons passer à l'étape fatidique qui est celle de l'implémentation de notre application directement au prochain chapitre.

Bachelor Degree Promotion sortante 2023

64

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

65

CHAPITRE IV :

Mise en place d'un portail web

Introduction

On s'intéressera dans ce chapitre à l'implémentation et la réalisation de notre future application et les différents outils que nous avons utilisés lors de sa réalisation. En effet, nous y verrons les langages utilisés ainsi que les différentes technologies utilisées pour son développement (Outils de conception web, IDE etc...), et nous vous présenteront quelques interfaces de notre système.

I - Outils et technologies

1 - Les technologies utilisées

Sur ce point nous allons seulement faire un récapitulatif de ce que nous avons dit aux chapitres précédents à propos des technologies que nous utilisons pour la réalisation de notre application.

? Langage de programmation :

Nous utilisons Python comme le langage de programmation sur lequel est basée notre application. Notre choix s'est porté sur ce langage à cause de sa simplicité et sa grande facilité d'apprentissage. Sa documentation et sa grande communauté ont aussi joué un rôle dans notre choix. Vous trouverez une présentation de python à la page 16.

? Framework back-end :

Pour le développement back end nous utilisons Django qui est justement un framework basé sur Python. C'est lui qui jouera le rôle de serveur d'application. Nous l'avons choisi parce qu'il est plus complet et plus puissant que les autres frameworks de python. Il offre aussi une grande sécurité surtout avec les clés CSRF. Vous trouverez une présentation de Django à la page 20.

? Framework front end :

Au front-end notre choix s'est porté sur Bootstrap qui est un framework CSS permettant de réaliser de belles interfaces avec un peu d'effort. Il a une bonne documentation et une communauté très vivante. Vous trouverez une présentation de Bootstrap à la page 22.

? SGBD :

Bachelor Degree Promotion sortante 2023

66

Mise en place d'un portail web

Nous utilisons le SGBD MySQL qui est un SGBD très léger et souple. Il est suffisant en tant que serveur de base de données pour la réalisation de notre projet. Vous trouverez une présentation de MySQL à la page 18.

2 - Outils

2.1 - IDE utilisé

Définition :

? Visual Studio Code :

C'est un éditeur de code source léger mais puissant qui s'exécute sur votre bureau et est disponible pour Windows, MacOs et Linux. Il est livré avec un support intégré pour JavaScript, TypeScript et Node.js et dispose d'un riche écosystème d'extensions pour d'autres langages (tels que C++,

C#, Java, Python, PHP, Go) et des runtimes (tels que .NET et Unity).

Cet éditeur à travers ses extensions telles que : python, Django, MySQL, nous a permis de faire la modélisation et le développement de notre système.

? Sublime Text :

 

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. Depuis la version 2.0, sortie le 26 juin 2012, l'éditeur prend en charge 44 langages de programmation majeurs, tandis que des plugins sont souvent disponibles pour les langages

plus rares.

Dans notre projet nous l'utilisons pour l'édition et les modifications des fichiers CSS.

2.2 - Navigateur

Définition : Le navigateur Internet est un logiciel vous permettant d'afficher des sites Internet, télécharger des fichiers et faire des recherches.

Nous utilisons ces logiciels pour tester notre application web pendant son développement. Nous testons notamment l'apparence des interfaces utilisateurs. Pour cela nous avons utilisé trois d'entre eux afin de bien visualiser notre application. Il s'agit de :

? Brave :

Brave (prononcé en anglais : [b?e?v]) est un navigateur web open source gratuit disponible sur Windows, macOS et Linux ainsi que sur iOS et Android. Il a pour

Bachelor Degree Promotion sortante 2023

67

Mise en place d'un portail web

objectif de protéger la vie privée de ses utilisateurs en bloquant par défaut les pisteurs et en permettant la navigation via le réseau Tor. Le logiciel, construit sur Chromium, est développé par l'entreprise Brave Software depuis 2016.

? Mozilla Firefox :

 
 

Mozilla Firefox [m?'z?l? 'fa??f?ks] est un navigateur web libre et gratuit disponible pour PC (Windows, macOS, Linux, BSD, etc.) et mobiles (Android, iOS), développé et distribué par la Fondation Mozilla (Mozilla Foundation) depuis 2003, avec l'aide de milliers de bénévoles. L'entreprise Mozilla Corporation est créée en 2005 pour se charger du développement.

? Microsoft Edge :

Microsoft Edge est un navigateur web propriétaire développé par la société américaine Microsoft depuis 2015, et basé sur Chromium depuis 2020. Il fut conçu pour remplacer Internet Explorer. Edge est installé par défaut avec Windows 10 et Windows 11, et est disponible également sur MacOS et Linux, ainsi que sur mobile avec des versions Android et IOS.

 

2.3 - Autres outils

? MySQL Server :

 

C'est MSI de MySQL pour Windows. Ce logiciel nous permettra d'utiliser MySQL.

II - Présentation des interfaces utilisateurs

Nous allons vous montrer dans cette partie les interfaces principales de notre application :

Bachelor Degree Promotion sortante 2023

68

Mise en place d'un portail web

? Inscription :

Bachelor Degree Promotion sortante 2023

69

Mise en place d'un portail web

? Authentification :

Bachelor Degree Promotion sortante 2023

70

Mise en place d'un portail web

? Espace Etudiant :

Bachelor Degree Promotion sortante 2023

71

Mise en place d'un portail web

? Espace Enseignant :

Bachelor Degree Promotion sortante 2023

72

Mise en place d'un portail web

? Site d'administration :

Bachelor Degree Promotion sortante 2023

73

Mise en place d'un portail web

? Récupération de mot de passe : ? Méthode 1 :

? Méthode 2 :

Bachelor Degree Promotion sortante 2023

74

Mise en place d'un portail web

? Création de nouveau mot de passe :

Bachelor Degree Promotion sortante 2023

75

Mise en place d'un portail web

IV - Estimation du coût du projet

Commentaires

Disponible, version d'évaluation ou gratuit open source

Matériels et logiciels Nombre Fonction Prix (FCFA)

 

· Visual Studio Code

 

Environnement de développement et de test

-

· Sublime Text

 
 

-

· MySQL

 
 

-

 

-

 
 

· Gant Project

 
 

-

· Power AMC

 
 

-

· Microsoft

 
 

20 000

 

Office 2019

 
 
 

Ordinateur Portable (HP Pavillon 15) et accessoires

1

Equipements de travail

500 000

Disponible

1

1

Windows 10

Pocket Wifi Airtel

OS

Routeur Internet pour les recherches pendant le projet

140 000

25 000

Disponible

Disponible

TOTAL 1

685 000 FCFA

Matériels et logiciels Nombre Fonction Prix (FCFA) Commentaires

Ordinateur Serveur rackable et accessoires

1

Ordinateur de
déploiement

3 750 000

Disponible

Baie Serveur Rack 42U

1

Serveur de
déploiement

1 600 000

Disponible

Fibre Optique 2M/s

1

Connexion nécessaire
pour assurer la
connexion au serveur

100 000 par
Mois

Disponibilité à vérifier
auprès de Niger
Telecom, Abonnement
par mois

TOTAL 2

5 450 000 FCFA

 

Ressources humaines Nombre Activité Nombre de Prix/Jour

jours

Développeur Full Stack

1

Modélisation,
Analyse, Conception,
Implémentation

215

10 000

Ingénieur testeur

1

Tests Logiciels

-

-

TOTAL 3

2 150 000 FCFA

Bachelor Degree Promotion sortante 2023

76

Mise en place d'un portail web

TOTAL

8 285 000 FCFA

Conclusion

Dans ce chapitre, nous avons présenté l'environnement de Développement de notre application et les outils utilisés pour implémenter celle-ci. Puis nous avons présenté les différents langages de programmation utilisés. Nous avons aussi pu avoir un aperçu de notre application à travers les différentes interfaces présentées.

Bachelor Degree Promotion sortante 2023

77

Mise en place d'un portail web

Conclusion Générale

En conclusion, la mise en place d'un portail web de gestion pour une université est un projet complexe mais nécessaire pour améliorer la communication, la productivité et l'efficacité de l'administration universitaire. Tout au long de ce mémoire, nous avons examiné les différentes étapes de l'analyse, la conception, la réalisation et la mise en place d'un tel portail.

Notre problématique de départ était de répondre au mieux aux attentes des différents utilisateurs : l'étudiant, l'enseignant, l'administrateur, le chef de département. Par ailleurs, il fallait faciliter l'accès à l'information et éviter les traitements manuels source d'erreurs importantes. Et pour cela on a essayé d'apporter des solutions à cette problématique comme : la consultation des notes, l'enregistrement et la modification des notes, consultations des PVs et des documents des cours, consultation des informations liées à la scolarité,...etc.

Nous espérons que ce mémoire sera une source d'informations utiles pour les étudiants, les enseignants et le personnel administratif de l'UIN, ainsi que pour les professionnels de l'informatique et les développeurs de logiciels.

Enfin, nous recommandons que des efforts supplémentaires soient entrepris pour améliorer l'expérience utilisateur, la sécurité des données, la performance et la stabilité du portail web de gestion. Nous espérons que ce mémoire contribuera à encourager la recherche continue dans ce domaine pour améliorer davantage la gestion des universités et l'expérience globale des utilisateurs.

Bachelor Degree Promotion sortante 2023

78

Mise en place d'un portail web

Perspectives

En considérant les résultats de nos travaux et les limites de notre système, nous sommes convaincus que notre plateforme doit subir des améliorations afin qu'elle puisse accomplir de mieux en mieux son rôle. Pour ce faire, d'autres travaux auront pour objectifs d'améliorer la plateforme actuelle et d'y intégrer d'autres fonctionnalités telles que :

? Payement des frais de la scolarité en ligne ou par virements bancaires ;

? Demandes et allocations des chambres dans le campus de l'UIN ;

? Pré-inscription en ligne ;

? Gestion de mémoire pour les étudiants en dernière année ;

? Blog de communication entre les étudiants utilisateurs de la plateforme.

Par ailleurs, vu les plateformes innovantes qui sont entrai d'être réalisées au sein du département Informatique de l'UIN pour répondre à diverses problèmes, il serait très intéressant de les combinées et de créer un système complet capable de répondre à tous les défis informatiques de l'UIN. Cette combinaison peut se faire par l'intégration à notre application, l'application de gestion bibliothécaire, l'application de gestion des absences, l'application locale de gestion de l'UIN qui d'ailleurs partage la même base de données que notre application.

Bachelor Degree Promotion sortante 2023

79

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

80

Annexe 1

Mise en place d'un portail web

Généralité sur les réseaux

I- Définition d'un réseau:

Un réseau est un ensemble de matériels et de logiciels permettant de connecter deux ou plusieurs ordinateurs géographiquement dispersés afin d'échanger des données. Les données circulent dans le réseau sous forme de flux de bits. Ces bits sont transférés sous forme de paquets de données qui se déplacent rapidement et qui traversent plusieurs réseaux pour arriver à la destination. Quel que soit la durée de déplacement, l'information doit circuler d'une manière fiable et atteindre sans erreurs la destination voulue.

II - Intérêts d'un réseau informatique :

? Le partage des ressources (fichiers, applications et matériels).

? La communication entre personnes (courrier électronique, discussion en direct). ? La communication entre processus.

III - Les supports de transmission :

Le support de transmission désigne le type du câblage utilisé pour relier l'ensemble des noeuds entre eux. Cet élément est d'une importance capitale car c'est de lui que dépendent, pour une très grande partie les performances du réseau. Les supports de transmission les plus utilisés sont :

1 - Le câble coaxial :

Un câble coaxial est constitué par une âme centrale (support d'information) et d'un blindage contre les parasites et les inductions magnétiques. C'est le support de transmission le plus utilisé surtout lorsque les postes se trouvent en des endroits relativement éloignés les uns des autres (quelques dizaines de Kilomètres), mais il n'est plus tellement utilisé pour les petits réseaux car il est lourd, cher et peu flexible.

2 - Le câble à paire torsadée :

Le câble à paire torsadée ou UTP (Unshielded Twistes Pair) est formé de paires de fils fins enroulés l'un autour de l'autre ne comportant aucun blindage ce qui le rend très sensible aux parasites et aux inductions magnétiques et réduit son utilisation à des connexions entre des postes assez proches les uns des autres (mois de 100 mètres : cas d'un immeuble) ce support est moins cher et plus fin.

Bachelor Degree Promotion sortante 2023

81

Mise en place d'un portail web

3 - La fibre optique :

La fibre optique est la toute dernière forme de câble de réseau la plus sûre et la plus rapide. Elle est composée d'une âme centrale en verre et elle transmet les signaux par la lumière plutôt que par l'électricité. Totalement insensible aux perturbations électromagnétiques, les réseaux en fibre optique restent cependant peu utilisés, essentiellement, en raison de leur coût relativement élevé et des difficultés de mise en place.

IV - Classification des réseaux :

On peut classifier les réseaux en fonction de leurs distances et de leurs modes de fonctionnement.

1 - Classification des réseaux en fonction de la distance :

On compte généralement trois catégories de réseaux informatiques, différenciées par la distance maximale entre les deux points les plus éloignés.

? Les réseaux locaux (LAN) :

Un réseau local est un ensemble d'ordinateurs interconnectés se trouvant dans une zone géographique relativement petite, appartenant à une même entreprise ou établissement, son étendue peut atteindre quelques centaines de mètres.

? Les réseaux métropolitains (MAN) :

Les réseaux métropolitains effectuent l'interconnexion de plusieurs sites d'une même ville. Ce sont des réseaux ayant une étendue de l'ordre d'une centaine de kilomètres et des débits très importants, ce qui permet ainsi à deux noeuds distants de se comporter comme s'ils faisaient partie du même réseau local.

? Les réseaux étendus (WAN) :

Les réseaux étendus ou longue distance interconnectent des réseaux de types précédents, sur des zones géographiques considérables, de taille d'un pays, d'un continent ou même toute la planète. C'est le cas, par exemple, du réseau Internet, d'extension planétaire et sur lequel sont connectées des millions de machines. Les WAN fonctionnent grâce à des routeurs qui déterminent le chemin optimal que l'information doit emprunter pour atteindre un autre noeud du réseau.

Bachelor Degree Promotion sortante 2023

82

Mise en place d'un portail web

Remarque : on peut avoir des réseaux couvrant une surface inférieure à celle des réseaux locaux tels un ordinateur et ses périphériques ou un circuit imprimé.

2 - Classification des réseaux en fonction du mode de
communication :

On y distingue deux classes de réseaux :

? Ceux en mode de diffusion. ? Ceux en mode point à point.

Le premier mode de fonctionnement consiste à partager un seul support de transmission. Chaque message envoyé par un équipement sur le réseau est reçu par tous les autres. Un champ adresse placé dans le message permettra à chaque équipement de déterminer si le message lui est adressé ou non. À un moment donné, un seul équipement a le droit d'envoyer un message sur le support, il faut donc qu'il écoute au préalable si la voie est libre; si ce n'est pas le cas il attend, selon un protocole spécifique à chaque architecture.

Les réseaux locaux adoptent pour la plupart, le mode diffusion sur une architecture en bus ou en anneau et les réseaux satellitaires ou radio suivent également ce mode de communication. Dans une telle configuration la rupture du support provoque l'arrêt du réseau, par contre la panne d'un des éléments ne provoque pas la panne globale du réseau.

Bachelor Degree Promotion sortante 2023

83

Mise en place d'un portail web

Dans le deuxième mode, le mode point à point, chaque paire d'équipement est reliée par une ligne et si deux équipements veulent communiquer sans être reliée directement, ils le font indirectement par l'intermédiaire d'autres noeuds du réseau. Quand un message est envoyé d'une machine à une autre via un ou plusieurs noeuds intermédiaires, le message est reçu et stocké jusqu'à ce que la ligne de sortie requise soit libre. La plus part des réseaux de grandes étendues utilisent ce mode de communication. La figure suivante montre quelques architectures utilisant le mode point à point :

V - Les topologies :

1 - La topologie physique

Un réseau informatique est constitué d'ordinateurs reliés entre eux grâce à des lignes de communication et des éléments matériels (cartes réseaux, ainsi que d'autres équipements permettant d'assurer la bonne circulation des données). L'arrangement physique, c'est-à-dire

la configuration spatiale du réseau est appelée topologie physique. On distingue généralement les topologies suivantes :

? La topologie en bus : Une topologie en bus est l'organisation la plus simple d'un réseau. En effet, dans une topologie en bus tous les ordinateurs sont reliés par une

Bachelor Degree Promotion sortante 2023

84

Bachelor Degree Promotion sortante 2023

85

Mise en place d'un portail web

liaison commune appelée « Bus » (segment central).

? La topologie en anneau : La topologie en anneau consiste à disposer les ordinateurs sous forme d'un anneau. En réalité, dans une topologie en anneau, les ordinateurs ne sont pas reliés en boucle, mais sont reliés à un répartiteur (appelé MAU : Multi-station Access Unit) qui gère la communication entre les ordinateurs. Ces derniers transmettent à tour de rôle par le biais d'un message spécial (jeton) que chaque ordinateur passe au suivant. A un moment donné seule la machine qui possède le jeton peut transmettre ses données.

? la topologie en étoile : C'est la topologie la plus utilisée actuellement. Elle comporte un HUB auquel sont reliés les ordinateurs, ce dernier organise les échanges de données qui se font sur autant de lignes qu'il y a de noeuds. Avec cette topologie il est tout à fait possible de transmettre plusieurs messages en même temps sans qu'il y soit le moindre problème.

Mise en place d'un portail web

VI - Architecture des réseaux

Pour assurer la connexion d'une machine, il faut réunir les supports physiques. Mais pour s'assurer du bon transfert de l'information avec une qualité de service suffisante, il faut prévoir une architecture logicielle. Une normalisation de l'architecture logicielle s'impose. Dans cette section nous allons décrire deux architectures réseau, la première provient de l'ISO et s'appelle OSI (open system interconnexion), la deuxième est l'architecture TCP/ IP. VI.1Modèle de référence OSI Le modèle de référence OSI se fonde sur une proposition élaborée par l'organisation internationale de normalisation (ISO) ; il est appelé Modèle de Référence OSI (Open System Interconnexion) parce qu'il traite de la connexion entre les systèmes ouverts en communication avec d'autres systèmes. Les principes de base ayant conduit à l'élaboration des sept couches sont les suivants :

? Diviser les problèmes de communication sur les réseaux en problèmes plus simples et plus faciles à gérer.

? Chaque couche exerce des fonctions bien définies.

? Le nombre de couches doit être suffisamment grand pour éviter la cohabitation dans une couche de fonctions très différentes et suffisamment petit pour éviter que l'architecture devienne difficile à maîtriser. D'un point de vue conceptuel, chaque couche interagit avec son homologue située sur un ordinateur distant. En pratique, chaque couche communique avec la couche au-dessus et en dessous d'elle. Fonctionnement : Chaque couche (n) offre un certain nombre de services à la couche (n+1) en déroulant un protocole uniquement défini à partir des services fournis par la couche (n-1). L'architecture OSI est schématisée comme suit :

Bachelor Degree Promotion sortante 2023

86

Mise en place d'un portail web

? Couche physique : Décrit les propriétés physiques, telles que les caractéristiques mécaniques des différents supports et les caractéristiques des signaux qui véhiculent l'information [3], rentrent dans cette définition les caractéristiques des câbles et des connecteurs, les niveaux de potentiel, les intensités de courants, etc. cette couche s'occupe de la transmission des bits de façon brute sur le canal de communication.

? Couche liaison de données : La tâche principale de la couche liaison de données est de prendre un moyen de transmission et de le transformer en une liaison de données , elle l'accomplit en fractionnant les données d'entrée de l'émetteur en trames de données, en transmettant les trames en séquences et en gérant les trames d'acquittement renvoyées par le récepteur, c.-à-d. elle s'occupe du transport des données à travers les supports physiques en manipulant les adresses physiques (elles sont intégrées dans les cartes réseau du fabricant), la couche physique accepte et transmet simplement un flot de bits sans connaître les frontières des trames, c'est à la couche liaison de données de créer et de reconnaître les frontières des trames.

Bachelor Degree Promotion sortante 2023

87

Mise en place d'un portail web

? Couche réseau : Cette couche est concernée par les adresses logiques (telles que les adresses IP). Cette couche fournit des connexions et un routage entre deux noeuds d'un même réseau.

? Couche transport : La couche transport fournit des services tout à fait similaires à ceux fournis par la couche réseau. Certaines couches réseau fournissent une qualité de services qui assure une bonne fiabilité. Cependant, toutes les couches réseau ne le font pas.

? Couche session : Elle permet à des utilisateurs travaillant sur différentes machines d'établir des sessions entre eux.

? Couche présentation : Remplit des fonctions suffisamment courantes et génériques pour ne pas les laisser à la charge de l'utilisateur. Plus précisément, à la différence des autres couches, qui sont concernées seulement par la transmission fiable des bits d'un point à un autre, la couche présentation s'intéresse à la syntaxe et la sémantique de l'information transmise.

? Couche application : Représente la couche la plus élevée du modèle OSI, elle utilise les services de la couche présentation (et indirectement des autres couches) pour exécuter une application spécifique. L'application peut être échange de courrier, transfert de fichiers ou toute application réseau. VI.2 Architecture TCP / IP : La défense américaine devant le fonctionnement des machines utilisant des protocoles de communication différents et incompatibles à décider de définir sa propre architecture. Ces protocoles représentent aussi, comme l'architecture OSI, une architecture en couches. L'architecture TCP/IP se schématise comme suit :

IP: Internet Protocol : protocole de niveau réseau assurant un service sans connexion.

Bachelor Degree Promotion sortante 2023

88

Mise en place d'un portail web

TCP : Transmission Control Protocol : niveau transport (niveau 4) qui fournit un service fiable en mode connecté.

UDP : User Datagram Protocol : niveau transport en mode non connecté.

FTP : File transfert Protocol : pour le transport de fichiers.

SMTP : Simple Mail Transfert Protocol : pour le transfert du courrier électronique.

Telnet : Protocol de gestion de Terminal Virtuel (permet d'obtenir les logiciels d'un autre ordinateur grâce au réseau.

Bachelor Degree Promotion sortante 2023

89

Mise en place d'un portail web

Bachelor Degree Promotion sortante 2023

90

Annexe 2

Mise en place d'un portail web

? Installation de django et la création du projet :

? Prérequis : Il faut avoir une version installée de Python et Pip. Ici avons la version 3.10.7 de Python et 23.1.2 de pip.

Figure 44: Version de python et pip

? Installation : sur un terminal de Visual code nous procédons à l'installation : NB : Ici nous installons Django sur un environnement virtuel python « envi », ce qui nous évite d'installer Django à chaque fois que l'on copie le projet sur un autre ordinateur.

Bachelor Degree Promotion sortante 2023

91

Figure 45: Installation de django

Bachelor Degree Promotion sortante 2023

92

Mise en place d'un portail web

? Création du projet et structure de base :

NB : le cadre rouge présente la structure du projet à la création.

Figure 46: Création du projet et structure de base

? Quelques lignes de codes des fichiers html :

Figure 47: Aperçu du fichier login.html

Mise en place d'un portail web

Figure 48: Aperçu du fichier home.html (enseignant)

? Quelques lignes de codes des vues Django :

Figure 49: Aperçu du fichier views.py (enseignant) ? Quelques lignes de codes des models Django :

Bachelor Degree Promotion sortante 2023

93

Bachelor Degree Promotion sortante 2023

94

Mise en place d'un portail web

Figure 50: Aperçu du fichier models.py (étudiant)

? Quelques lignes de codes des urls Django :

Figure 51: Aperçu du fichier urls.py (enseignant)

Mise en place d'un portail web

Bibliographie

> Mémoire « DEVELOPPEMENT D'UN SYSTEME DE RECRUTEMENT BASE SUR L'INTELLIGENCE ARTIFICIELLE » par CHAIBOU MAIKIBI Abdoul-Moumouni, Université Islamique au Niger 2022

;

> Mémoire « ETUDE ET MISE EN PLACE D'UNE ARCHITECTURE RESEAU VPN SECURISEE POUR L'INTERCONNEXION DE DEUX SITES DISTANTS : CAS DE L'UNIVERSITE ISLAMIQUE AU NIGER (UIN) » par HAROUNA SALIFOU Bissaratou, Université Islamique au Niger 2022 ;

> Mémoire « CONCEPTION ET MISE EN OEUVRE D'UNE PLATEFORME MODERNE DE COLLECTE ET DE GESTION DES TAXES POUR LE COMPTE DES MAIRIES » par ALI GARBA GORA Souleymane, Université Islamique au Niger 2021 ;

> Mémoire « Conception et réalisation d'une application web avec J2EE pour la gestion de scolarité » par AMRANE SAMIA & AMRANE HASSINA, Université Mouloud Mammeri de Tizi-Ouzou en Algérie 2012-2013 ;

> Mémoire « Conception et réalisation d'un portail web (E-Learning) » par Abdelkrim Elhoussaoui & Abderrahmane Elalaoui, Université Ahmed Draia - Adrar en Algérie 20152016 ;

> Mémoire « CONCEPTION ET DEVELOPPEMENT D'UNE PLATEFORME WEB DE GESTION DE DOSSIER D'ETUDIANT : CAS DE L'ECOLE POLYTECHNIQUE D'ABOMEY-CALAVI » par Fréjus Léonel Oyédélé ADJE, Ecole Polytechnique d'Abomey-Calavi au Bénin 2016 ;

> Mémoire « APPLICATION WEB POUR LA GESTION D'UNE ÉCOLE CORANIQUE» par DJEMIAT Djalal & OUARADJ Yahia Université Mohamed Boudiaf - M'sila en Algérie 2020-2021.

Bachelor Degree Promotion sortante 2023

95

Mise en place d'un portail web

Webographie

NB : Période de consultation de ces sites : Avril - Mai 2023

1. https://anakine.io/fiches-metiers-tech/developpeur-back-end/

2. https://developer.mozilla.org/fr/docs/Web

3. https://www.oracle.com/fr/database/definition-base-de-donnees.html

4. https://fr.wikipedia.org/wiki/Syst%C3%A8me de gestion de base de donn%C3%A 9es

5. https://www.php.net/manual/fr/intro-whatis.php

6. https://aws.amazon.com/fr/what-is/java/

7. https://fr.slideshare.net/straumat/prsentation-de-jee-et-de-son-cosystme-presentation

8. https://www.jmdoudoux.fr/java/dej/chap-presentation.htm

9. https://fr.wikipedia.org/wiki/Java (langage)

10. https://fr.wikipedia.org/wiki/PHP

11. https://mobiskill.fr/blog/conseils-emploi-tech/pourquoi-utiliser-python-pour-du-developpement-web/

12. https://www.chat.openai.com

13. https://www.easypartner.fr

14. https://www.pierre-giraud.com

15. https://cynoteck.com

16. https://www.blog.lesjeudis.com

17. https://www.le-consultant-digital.com

18. https://www.angular.io

Bachelor Degree Promotion sortante 2023

96






La Quadrature du Net

Ligue des droits de l'homme