Vous êtes sur la page 1sur 34

Département Génie informatique

Année Universitaire : 2019-2020

Mémoire stage de fin d’études


LA CONCEPTION ET LA REALISATION D’UNE
APPLICATION WEB EN PYTHON et DJANGO

<< APPLICATION DE GESTION DES COURS >>

Présenté par :
BELHAIBA IMANE
CHAMEKH NAJWA

Encadrée Par
Mr. MAIZAT ABDERRAHIM

1
Remerciements
Nous tenons à remercier dans un premier
temps, toute l’équipe pédagogique de l'école
supérieure de technologie et les intervenants
professionnels responsables de la formation
génie informatique.

Avant d’entamer ce rapport, nous profitons


de l’occasion pour remercier tout d’abord notre
professeur Mr. MAIZAT ABDERRAHIM qui n’a
pas cessé de nous encourager pendant la durée
du projet, ainsi pour sa générosité en matière de
formation et d’encadrement. Nous le remercions
également pour l’aide et les conseils concernant
les missions évoquées dans ce rapport, qu’il
nous a apporté lors des différents suivis, et la
confiance qu’il nous a témoigné.

Nous tenons à remercier nos professeurs de


nous avoir incités à travailler en mettant à notre
disposition leurs expériences et leurs
compétences

2
Sommaire
Table des matières
Remerciements ................................................................................................................... 2
Introduction ......................................................................................................................... 5

Partie I : Présentation du projet

Présentation du projet ......................................................................................................... 6


Cahier des charges ............................................................................................................ 7

Partie II : Outils et langages utilisés

Environnement logiciel ...................................................................................................... 8


Langages utilisés ............................................................................................................. 10

Partie III : Spécification du projet

Introduction ...................................................................................................................... 15
UML ................................................................................................................................ 15
Diagramme de cas d’utilisation ....................................................................................... 16
Diagramme de classe ...................................................................................................... 21
Diagramme de séquence………………………………………………………………………22

Partie IV : Présentation des interfaces

Interface administratif ................................................................................................ 24


Interface enseignant .................................................................................................. 26
Interface étudiant ......................................................................................................... 30

3
Conclusion

Conclusion ........................................................................................................................ 34

4
Introduction
Dans le cadre de la formation de technicien supérieur en
informatique figurant dans le programme éducatif de l’Ecole
Supérieur de technologie Casablanca “ESTC”, on a effectué
un projet de stage de fin d’étude qui est censé permettre aux
étudiants de la 2eme année génie informatique de faire le lien
entre la théorie acquise durant leurs études et son application
dans le monde du travail.

L’objectif de ce projet consiste à faire une application WEB qui


facilite la tâche de gestion des cours.

Nous commençons par la définition du cahier des charges du


Projet et la planification suivie afin d’atteindre les
objectifs soulignés.

5
Partie I : Présentation du projet :

Cahier des charges :

✓ Ce projet cible la conception et la réalisation


d’une application web avec Python et le
Framework Django, de gestion de cours.
L'application doit contenir 3 parties distinctes :

✓ Un Volet permettant l’administration du système :


• gérer les comptes.
• Elaborer l’emploi du temps
• Ajouter, modifier les cours,
• Ajouter les supports de cours
• Ajouter, modifier le planning des examens.
• Ajouter les sujets des PFE.

✓ Un Volet partie concerne l’étudiant :


Qui le permet de :

• S’Authentifier.
• Renforcer son profil
• Consulter l’emploi du temps.
• Consulter les cours.
• Télécharger les supports de cours.
• Consulter le planning des examens.
• Consulter des sujets de PFE

6
✓ Un Volet concerne l’enseignant :

Qui le permet de :
• S’Authentifier.
• Renforcer son profil.
• Consulter l’emploi du temps.
• Consulter les cours.
• Uploader les sujets de cours.
• Consulter le planning des examens
• Consulter les plannings des cours.
• Proposer les sujets de PFE.

7
Partie II :Outils et Langages utilisés :

Environnement logiciel :

PyCharm est un environnement de


développement intégré utilisé pour programmer en Python.
Il permet l'analyse de code et contient un débogueur
graphique. Il permet également la gestion des tests
unitaires, l'intégration de logiciel de gestion de versions,
et supporte le développement web avec Django

Lucidchart est une


plateforme de collaboration, basée sur le cloud,
permettant la création de diagrammes et la
visualisation de données, et autres cartes
heuristiques et schémas conceptuels. La startup
hébergeant Lucidchart a été lancée en décembre
2008, et est basée à Salt Lake City.

8
SQLite est une bibliothèque écrite en
langage C qui propose un moteur de base de
données relationnelle accessible par le langage SQL.
SQLite implémente en grande partie le standard
SQL-92 et des propriétés ACID.

9
Langages utilisés :

Nous avons aussi utilisé une multitude de langages


informatique pour finaliser notre application web :

10
1- Python :
Python est un langage de script de
haut niveau, structuré et open source.
Il est multi-paradigme et multi-usage.
Développé à l'origine par Guido Van
Rossum en 1993, il est, comme la
plupart des applications et outils open
source, maintenu par une équipe de
développeurs un peu partout dans le
monde.
Conçu pour être orienté objet, il n'en
dispose pas moins d'outils permettant
de se livrer à la programmation
fonctionnelle ou impérative ; c'est
d'ailleurs une des raisons qui lui vaut
son appellation de « langage agile ».

11
2-DJANGO :

Django est un Framework


open-source développement
web en Python. Il a pour but
de rendre le développement
web
simple et rapide.
Le projet a pour slogan « Le Framework web pour
les perfectionnistes souspression ». Développé au
départ pour les sites de la compagnie de Lawrence,
Django a été publié sous licence BSD à partir de
juillet 2005.
Les Framework sont donc conçus et utilisés pour
modeler l'architecture des logiciels applicatifs, des
applications web, des middlewares et des
composants logiciels. Les Framework sont acquis
par les informaticiens, puis incorporés dans des
logiciels applicatifs mis sur le marché, ils sont par
conséquent rarement achetés et installés
séparément par un utilisateur final.

12
2- HTML :
L’Hypertext Markup Language,
généralement abrégé HTML, est le
format de données conçu pour
représenter les pages web.
C’est un langage de balisage permettant
d’écrire de
l’hypertexte, d’où son nom. HTML
permet également de structurer
sémantiquement et de mettre en forme
le contenu des pages, d’inclure des
ressources multimédias
dont des images, des formulaires de saisie, et des
programmes informatiques. Il permet de créer des
documents interopérables avec des équipements
très variés de manière conforme aux exigences de
l’accessibilité du web. Il est souvent utilisé
conjointement avec des langages de programmation
(JavaScript) et des formats de présentation (feuilles
de style en cascade).
HTML est initialement dérivé du Standard
Generalized Markup Language (SGML).

13
3- CSS :
Les feuilles de style en cascade,
généralement appelées CSS de
l'anglais Cascading Style Sheets,
forment un langage informatique qui
décrit la présentation des documents
HTML et XML. Les standards
définissant CSS sont publiés par le
World Wide Web Consortium (W3C).
Introduit au milieu des années 1990,
CSS devient couramment utilisé dans
la conception de sites web et bien pris
en charge par
Les navigateurs web dans les années
2000.

4- Javascript :
JavaScript est un langage de programmation
de scripts principalement employé dans les
pages web interactives mais aussi pour les
serveurs. C’est un langage orienté objet à
prototype, c’est-à-dire que les bases du langage
et ses principales interfaces sont fournies par
des objets qui ne sont pas des instances de
classes, mais qui sont chacun équipés de
constructeurs permettant de créer leurs

14
Propriétés, et notamment une propriété de prototypage
qui permet d’en créer
Des objets héritiers personnalisés.
En outre, les fonctions sont des objets de première
classe

Partie III : Spécification du projet :


Introduction :

La spécification est l’étape qui consiste à décrire ce


qui est attendu par le projet à
réaliser.
Elle décrit dans le détail la façon dont les
exigences seront prises en compte Dans cette
partie, on va utiliser la méthode ‘UML’. Afin de
détailler les cas
d’utilisation et les interactions entre ces derniers.

UML :

Le langage de modélisation unifié,


de l'anglais Unifie Modeling
Language (UML), est un langage de
modélisation graphique à base de
pictogrammes conçu pour fournir
une méthode normalisée pour

15
visualiser la conception d'un
système. Il est couramment utilisé en
développement logiciel et en
conception orientée objet.
Diagramme de cas d’utilisation :

Les diagrammes de cas d'utilisation sont des


diagrammes UML utilisés pour donner une vision
globale du comportement fonctionnel d'un système
logiciel. Ils sont utiles pour des présentations auprès
de la direction ou des acteurs d'un projet, mais pour le
développement, les cas d'utilisation sont plus
appropriés. Un cas d'utilisation représente une unité
discrète d'interaction entre un utilisateur (humain ou
machine) et un système. Il est une unité significative de
travail. Dans un diagramme de cas d'utilisation, les
utilisateurs sont appelés acteurs (actors), ils
interagissent avec les cas d'utilisation (use cases).

16
Présentation des acteurs :

LES PRINCIPAUX ACTEURS QUI INTERAGISSENT


AVEC LE SYSTEME SONT :

Acteur 1 : Administrateur Principale


• Gestion des comptes.
• Gestion d’emploi du temps
• Gestion des cours,
• Ajouter les supports de cours
• Gestion de planning des examens.
• Ajouter les sujets des PFE.

Acteur 2 : Etudiant
• S’Authentifier.
• Renforcer son profil.
• Consulter l’emploi du temps.
• Consulter les cours.
• Télécharger les supports de cours.
• Consulter le planning des examens.
• Consultation des sujets de PFE

Acteur 3 : Enseignant
• S’Authentifier.
• Renforcer son profil
• Consulter l’emploi du temps.
• Consulter, ajouter et modifier les cours.
• Consulter le planning des examens
• Proposer les sujets de PFE.

17
➢ Diagramme de cas
d’utilisation Admin :

18
➢ Diagramme de cas
d’utilisation Etudiant:

19
➢ Diagramme de cas
d’utilisation Enseignant :

20
Diagramme de classe :

21
Diagramme de séquence
enseignant :

22
Diagramme de séquence
étudiant :

23
Partie I : Présentation des Interfaces :
1. Interface Admin :
- L’admin doit ajouter les classes et les attacher à des
filières :

- ajouter les matières et les attacher à des enseignants :

24
- planifier les cours :

-planifier les examens :

- ajouter les sujets de PFE et les attacher à des


enseignants :

25
2. Interface Enseignant :
- L’enseignant doit s’authentifier avec le login et le mot-
de-passe que l’admin lui a donné :

-consulter le planning des cours

26
-ajouter ou modifier ses informations personnelles :

- consulter le planning des examens

27
-Consulter et proposer des sujets PFE :

28
-Ajouter les supports des cours :

29
3.Interface Etudiant :

-L’étudiant doit s’authentifier avec son CNE et mot-de-


passe donné par l’admin .

-ajouter ou modifier ses informations personnelles :

30
-Consulter le planning des examens :

31
- Consulter l’emploi du temps et le planning des cours :

-Consulter les sujets PFE proposés :

32
-Télécharger les supports de cours :

33
Conclusion :
L'application obtenue à la fin de notre projet répond
aux attentes fixées au départ. L'objectif principal est donc
atteint, même si des fonctionnalités supplémentaires
auraient pu être ajoutées, mais c'est surtout les bénéfices
que nous en retirons qui nous satisfont.
Nous avons pu améliorer notre expérience dans la
communication, et nous avons pu mettre en œuvre et
perfectionner beaucoup de connaissances acquises
pendant notre formation au sein de le Département
informatique de l’école supérieur de technologie. Ce projet
est donc à la fois une excellente conclusion à cette année de
cours et une bonne préparation à ce qui nous attend pour
nos activités futures.

34

Vous aimerez peut-être aussi