Upload
boutaina-ettaki
View
529
Download
1
Embed Size (px)
8
Introduction générale
Le Maroc est parmi les pays en voie de développement qui sont les plus mal classées
sur l’échelle mondiale en matière de système éducatif, cette situation décevante et
décourageante à la fois a fait l’objet de plusieurs débats afin de mettre le point sur les causes
de cette détérioration ainsi que prévoir les mesures adéquates permettant d’améliorer le
niveau de notre enseignement et de renforcer son efficacité.
Dans ce cadre, plusieurs réformes ont été appliquées mais à chaque fois, il s’avère
que les procédures d’action mises en œuvre et les mécanismes adoptés ont été en vain car
ils ne considèrent guère l’exploitation et l’intégration des technologies de l’information.
Reconnaissant l’utilité et l’influence positive de l’approche technologique et
informatique sur le développement de notre secteur éducatif, nous avons assumé la
responsabilité de mettre en évidence l’importance de la documentation pédagogique,
l’exploitation et le traitement des données liées à la vie scolaire des étudiants , la gestion de
l’espace et du temps, l’organisation du travail du corps enseignant et l’élaboration des
statistiques, recensements et inventaires susceptibles de maîtriser l’action pédagogique et
de le rendre fructueux, efficace et favorisant ainsi la concrétisation des orientations,
objectifs et tendances gouvernementales dans le secteur de l’enseignement.
Dans le but de venir au bout des besoins de nos établissements en termes de
mécanismes et modalités de la saisie de l’information concernant les étudiants,
l’organisation du temps scolaire et l’exploitation des salles, nous avons réalisé ce projet
portant sur la gestion des inscriptions et l’emploi du temps à l’école supérieure de
technologie d’Agadir.
9
Notre projet comportera quatre axes principaux :
Le premier chapitre fournit une présentation globale sur le projet : son but et sa
portée pratique.
Le deuxième chapitre représente les outils de développement utilisés pour concevoir
le projet.
Le troisième chapitre comporte la modélisation du système d’information.
Le quatrième chapitre concerne la réalisation de l’application.
ET à la fin nous terminons par une petite conclusion qui résume toutes les
circonstances et les contraintes affrontées au cours de notre travail ce qui nous a permis
d’une part de l’évaluer et d’une autre part de prévoir les possibilités d’amélioration pour les
années suivantes.
10
C hapitre1
Contexte générale du
projet
11
1.1. Problématique
L’école supérieure de technologie d’Agadir étant une des plus grandes écoles du
Maroc ne peut survivre au sein du milieu éducatif sans avoir un système d’information
puissant capable d’informatiser les taches et faciliter les procédures pédagogiques surtout que
le Maroc aujourd’hui opte pour une éducation qui exploite au maximum les nouvelles
technologies et leur déploiement incessant non pas seulement au niveau des systèmes
d’information, mais aussi les langages de programmation évolués.
En s’inspirant de cette approche, nous nous sommes posé les questions suivantes :
Dans quelle mesure, la gestion des inscriptions s’avère efficace pour :
Améliorer le travail administratif et ainsi faciliter la communication étudiant-service
scolarité.
Rendre l’information accessible pour tous les acteurs pédagogiques.
Favoriser l’exploitation des informations cumulées dans l’élaboration des projets de
l’ESTA.
Quelle est l’utilité de la gestion des emplois du temps dans :
L’organisation du travail du corps enseignant.
La gestion du temps scolaire.
La garantie de la conduite normale des cours.
C’est cela qui nous a permis de bien visualiser le but de notre projet.
12
1.2. Cahier de charges
L’objectif de ce projet est de réaliser un système d’information permettant la gestion
des inscriptions à l’école supérieure de technologie d’Agadir, basé sur la réalisation déjà
existante Sirius qui est un projet open source de développement d'une application de gestion
de la scolarité au niveau des établissements de l'enseignement supérieur au Maroc.
Le cahier de charge est fondé sur les éléments suivants :
A-Informatiser les inscriptions à l’ESTA :
Nomenclature générale.
La gestion des inscriptions des étudiants à l’ESTA.
La gestion des emplois de temps.
B- Les livrables
Le logiciel accompagné du code source de l’application.
Le rapport expliquant les étapes de l’application.
13
C hapitre2
Outils de
développement
14
En vue de répondre aux questions posées dans la problématique et ainsi de
développer notre application, nous avons besoin d’utiliser plusieurs outils de développement.
Dans ce chapitre, nous allons présenter ces outils qui nous ont aidés afin de respecter
le cahier de charges.
2.1. Les outils de développement
2.1.1. Les langages de programmation : QT
QT est une bibliothèque logicielle orienté objet développé en C++ par Qt
Development Frameworks, filiale de Nokia. Il offre des composants d’interface graphique
(widgets), d’accès aux données, de connexion réseau, de gestion des fils d’exécution,
d’analyse XML, etc.
Qt est par certains aspects un Framework lorsqu'on l'utilise pour concevoir des
interfaces graphiques ou que l'on architecture son application en utilisant les mécanismes
des signaux et slots par exemple.
Qt permet la portabilité des applications qui n’utilisent que ses composants par une
simple recompilation du code source. Ce qui attire un grand nombre de personnes qui ont
donc l’occasion de diffuser leurs programmes sur les principaux OS existants.
15
Google, Adobe Systems et NASA font parties des grandes compagnies qui ont fait
confiance à Qt et ont commencé à l’utiliser de plus en plus dans leurs programmes.
2.1.2. Base de données : PostgreSQL
PostgreSQL est un système de gestion de base de
données relationnelle et objet (SGBDRO). C'est un outil libre disponible selon les termes
d'une licence de type BSD.
PostgreSQL est largement reconnu pour son
comportement stable, proche d’Oracle. Mais aussi
pour ses possibilités de programmation étendues,
directement dans le moteur de la base de données,
via PL/pgSQL. Le traitement interne des données
peut aussi être couplé à d'autres modules externes
compilés dans d'autres langages.
Il offre de nombreuses fonctionnalités modernes :
Requêtes complexes.
Clés étrangères.
Déclencheurs (triggers).
Vues.
Intégrité des transactions.
Contrôle des accès concurrents (MVCC ou multiversion concurrency control).
De plus, PostgreSQL peut être étendu de plusieurs façons par l'utilisateur, par exemple en
ajoutant de nouveaux :
Types de données.
Fonctions.
Opérateurs.
Fonctions d'agrégat.
Méthodes d'indexage.
Langages de procédure.
16
2.2. Environnements logiciels
2.2.1. QT Creator
Qt Creator est un environnement
multiplateforme de développement intégré
(IDE) adaptés aux besoins des développeurs
de Qt. Qt Creator fonctionne sur Windows,
Linux/X11 et les systèmes Mac OS X et
permet aux développeurs de créer des
applications pour ordinateurs et pour les
périphériques mobiles.
Parmi les composants de QT Creator, on
trouve :
QT Simulator
Disponible dans le cadre du QT SDK, le QT Simulator pour tester Qtapplication pour
les appareils mobiles dans un environnement semblable à celui de l'appareil cible.
QT Designer
Qt Creator propose un éditeur intégré visuel: Qt Designer qui permet de construire des
interfaces Qt widgets.
Caractéristiques et avantages
Concevoir des interfaces utilisateur plus rapidement avec fonction glisser-déposer.
Personnaliser les widgets ou choisir dans la bibliothèque de widgets standards.
Créer des interfaces utilisateur entièrement fonctionnels avec des signaux et slots de Qt
17
Figure 1 : Les composants de QT designer
2.2.2. PgAdmin III
18
Pgadmin est la plateforme d'administration et de développement libre la plus
populaire et la plus riche pour PostgreSQL, le serveur de base de données libre le plus riche
en fonctionnalités. L'application est utilisable sur les plateformes Linux, FreeBSD,
OpenSUSE, Solaris, Mac OSX et Windows pour gérer un serveur PostgreSQL, version 7.3 et
ultérieures, exécuté sur toute plateforme, ainsi que sur les versions commerciales de
PostgreSQL comme Postgres Plus Advanced Server et Greenplum.
Figure 2 : Visualisation de la fenêtre de PgAdmin
PgAdmin est conçu pour répondre aux besoins de tous les utilisateurs, de l'écriture de
requêtes SQL simples aux développements de bases de données complexes. L'interface
graphique supporte toutes les fonctionnalités de PostgreSQL et simplifie l'administration.
L'application inclut aussi un éditeur SQL avec coloration syntaxique, un éditeur de code côté
serveur. La connexion serveur peut se faire en utilisant TCP/IP ou les sockets de domaine
19
Unix (sur les plateformes *nix), et pourrait être chiffrée via SSL pour la sécurité. Aucun pilote
supplémentaire n'est requis pour communiquer avec le serveur de bases de données.
PgAdmin est développé par une communauté d'experts de PostgreSQL répartis tout
autour du monde et est disponible dans plus d'une douzaine de langues. C'est un logiciel libre
proposé sous la License PostgreSQL.
2.3. Outils de modélisation : Sybase poweramc
PowerAMC est un logiciel de modélisation (modeleur) de Sybase. En 2006, il inclut
les modélisations de bases de données (MPD, MCD)UML, modélisation de
traitements Merise (MCC, MOT, MCT) et modélisation de processus métier.
Initialement créé sous le nom AMC*Designor par l'éditeur Powersoft pour la
modélisation Merise, il a été renommé PowerAMC pour la version française et
PowerDesigner pour la version internationale après le rachat par Sybase.
20
C hapitre3
Modélisation du
système d’information
21
Afin de mieux cerner les besoins de notre application, il faut adopter une
méthodologie de conception avant de se lancer dans la programmation et l’écriture du code.
Il est nécessaire d’organiser ses idées, les documenter, puis planifier la réalisation en
définissant ses modules et ses étapes.
Pour mettre en évidence cette démarche, on a besoin d’un langage de modélisation
unifié : UML qui nous déraillerons par la suite.
3.1. La méthode UML
3.1.1. Définition de la méthode UML
UML « langage de modélisation unifié » est un langage de modélisation graphique.
Il est apparu dans le monde du génie logiciel, dans le cadre de la « conception orientée
objet ». Couramment utilisé dans les projets logiciels, il peut être appliqué à toutes sortes de
systèmes ne se limitant pas au domaine informatique grâce aux standards de modélisation
qu’il offre, pour représenter l'architecture logicielle.
3.1.2. Les diagrammes proposés par UML
UML propose 13 types de diagrammes qui sont dépendants mais tout de même se
complètent, de façon à permettre la modélisation d'un projet tout au long de son cycle de vie,
22
en indiquant que l’utilisation de tous ces diagrammes n’est pas nécessaire, en effet il suffit de
se servir de ceux qui sont convenables au système souhaité.
Ils se répartissent en trois grandes catégories :
Les diagrammes structurels ou statistiques :
Diagramme de classes (Class diagram)
Diagramme d'objets (Object diagram)
Les diagrammes fonctionnels et dynamiques :
Diagramme des cas d'utilisation (use-cases ou Use Case Diagram)
Diagramme états-transitions (State Machine Diagram)
Diagramme d'activité (Activity Diagram)
Diagramme de séquence et communication (Sequence Diagram)
23
3.2. Modélisation du système
3.2.1. Identification des cas d’utilisation
Figure 3 : Identification des cas d’utilisation
N°USE CASE USE CASE Acteurs Evénement déclencheur
Fréquence
1
Nomenclature
générale
Direction
Installation des paramètres
généraux système
Une seule
fois
2
Inscription des
étudiants
Service scolarité
Etudiant
Direction
Département
Date début d’inscription
Annuel
3
Gestion des emplois
du temps
Direction
Département
Début Semestre
Semestriel
24
3.2.2. Diagramme des cas d’utilisation:
Figure 4 : Diagramme des cas d’utilisation
Notre application se base sur 3 cas d’utilisation administrés par :
Direction : son rôle est d’enregistrer les paramètres généraux du système
(filière, groupe, semestre, niveau, département, module, mention, année) et
d’organiser une coopération avec les divers départements de l’école supérieure de
technologie d’Agadir afin d’élaborer les emplois du temps.
Etudiant : il vient pour accomplir son inscription en déposant son attestation
de préinscription plus le reste des documents à fournir et remplir les formulaires
complémentaires qui présente des informations sur les étudiants de façon qu’elles
soient saisis après par le service scolarité .
25
Département : Il consulte et imprime les emplois de temps.
Service scolarité : il fournit les formulaires à compléter par l’étudiant et
imprime les attestations de scolarité.
3.2.3. Fiche de cas d’utilisation
3.2.3.1. Nomenclature générale
Description du scénario :
Direction Système Informatique
1-Paramétrage des entités (filière,
matière, département, année,
matière, module)
2-Validation ok
Figure 5 : Cas d’utilisation : Nomenclature générale
Lors de l’installation de l’application, la direction enregistre les paramètres généraux
du système en ajoutant des filières, matières, département, modules. Et après le système
informatique valide ce qui est saisi.
26
Diagramme de séquence système :
Figure 6 : Diagramme de séquence : Nomenclature générale
27
3.2.3.2. Inscriptions des étudiants
Description du scénario :
Scolarité Etudiant Département Système
d’information
1-donner les pièces
à fournir aux services
2-fournir les
formulaires à
compléter par
l’étudiant
3-saisie des
informations sur
le système
4-validation ok
5- impression de
l’attestation de
l’inscription
6-impression ok
7-distribution
d’attestation
d’inscription
8- déposer la liste
des admis au
département
concernées
9-réception
de la liste
des admis
Figure 7 : Cas d’utilisation : Inscription des étudiants
28
Diagramme de séquence système :
Figure 8: Diagramme de séquence : Inscription des étudiants
29
Diagramme de classe: Gestion des inscriptions
Figure 9 : Diagramme de classe : Gestion des inscriptions
Règle de gestion :
*
1
1..*
1
1
1..*
*
1
*
1
*
1
*
*
*
1
11..*
0..*
0..*
1..1
1..*
1
*
1..*
1..*
1..*
1
Etudiant
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CNE
CIN
nom
prénom
ville_habitat
télèphone
e_mail
provaince_naissance
date_naissance
ville_naissance
sexe
nationalité
série_bac
provaince_bac
année_bac
mention
accademie_bac
: int
: int
: String
: String
: String
: String
: String
: String
: Date
: String
: String
: String
: String
: String
: String
: String
: String
inscription
-
-
-
N_inscription
moy_annuelle
décisionde passage
: int
: float
: String
fi l iére
-
-
-
N_fil iére
intitulé
fil iére
: int
: String
: String
module
-
-
N_module
l ibellé
: int
: String
niveau
-
-
N_niveau
l ibellé niveau
: int
: String
année
- année : String
département
-
-
N_département
département
: int
: String
matiére
-
-
N_matiére
matiére
: int
: String
semestre
-
-
N_semestre
semestre
: int
: String
professeur
-
-
-
-
-
-
-
-
-
-
-
N_professeur
nom
prénom
CIN
e_mail
adresse
téléphone
ville
date_naissance
lieu_naissance
code_professeur
: int
: String
: String
: int
: String
: String
: String
: String
: Date
: String
: int
tuteur
-
-
-
-
-
-
CIN_tut
nom
prenom
telephone
adresse
profession
: int
: String
: String
: String
: String
: String
.
- moy_module : float
30
Un professeur peut enseigner plusieurs modules.
Une filière englobe plusieurs modules.
Un département supervise plusieurs filières.
Une matière peut être étudiée dans plusieurs modules.
Un étudiant peut être inscrit une ou plusieurs fois.
3.2.3.3. Gestion des emplois de temps
Description du scénario :
Direction Département Système
1-Appel pour assemblée
générale du département
2-Déterminer les emplois
du temps à l’aide des
logiciels concernés
3-remettre les emplois du
temps au département
4-impression des emplois
du temps
5-impression ok
6-affichage des emplois
du temps
Figure 10 : Cas d’utilisation : Gestion des emplois du temps
31
Diagramme de séquence système :
Figure 11 : Diagramme de séquence : Gestion des emplois du temps
32
Diagramme de classe: Gestion des emplois du temps et absences
Figure 12 : Diagramme de classe : Gestion des emplois du temps et absences
1
1..*
1..*
1..*
1..*
1
1
1..*
1
*
1
*
1..*
1..*
*
*
1
1..*
1..*
1
1..*
1
1..*
1..*
1
1..*
emploi
-
-
-
-
-
-
-
idemploi
l ibellé
annéeuniv
semestre
niveau
date debut
date fin
: int
: int
: String
: String
: String
: Date
: Date
fi l iére
- numfil iére : intannée
- annéé : String
semestre
-
-
n_semestre
semestre
: int
: String
séance
-
-
-
-
-
n°séance
date_séance
durée
heure début
heure fin
: int
: Date
: int
: int
: int
module
-
-
n_modul
l ibellémod
: int
: String
matiére
-
-
idmatiére
libéllé
: int
: String
etudiant
-
-
-
-
-
-
-
-
-
-
-
-
CNE
CIN
nom
prenom
adressse
télé
e_mail
l ieunaissance
date naissance
sexe
bource
année bac
: int
: int
: String
: String
: String
: String
: String
: String
: Date
: String
: String
: String
typeséance
-
-
idtype
l ibell lé
: int
: int
salle
- idsalle : int
prof
-
-
-
idprof
nom
prenom
: int
: String
: String
type salle
- idtype : int
niveau
- niveau : int
.
-
-
-
-
ABS
observation
NBheure
abscence
: int
: String
: int
: String
33
Règle de gestion :
Un professeur a plusieurs séances d’enseignement.
Une séance concerne une seule matière.
Un module comprend plusieurs matières.
Un emploi du temps est relatif à un niveau donné, une filière donnée, un semestre
donnée et une année donnée.
3.2.3.4. Statistiques générales:
Diagramme de classe: Statistiques générales
Figure 13 : Diagramme de classe : Statistiques générales
Règle de gestion :
En prenant un étudiant dans une année donnée, nous pouvons déterminer le
nombre d’heures de son absence.
Contrairement à nos ambitions, nous n’avons pas pu réaliser les interfaces liées à la
génération des statistiques ainsi qu’à la gestion des absences et nous nous sommes contentés
des diagrammes de classes traitant ces opérations à cause des contraintes de temps.
La conception des statistiques permet, en général, de calculer le nombre des
étudiants par filière et par année, le taux de réussite des étudiants, le nombre des étudiants
absents dans un semestre donné en plus du nombre d’heures d’absences et les pénalités
associées.
*
1..*
Etudiant
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CNE
CIN
nom
prénom
adresse
téléphone
e_mail
l ieu de naissance
date de naissance
sexe
boursier
cité
serie bacc
année obtention
: int
: int
: String
: String
: String
: int
: String
: String
: Date
: String
: String
: String
: String
: int
année
- année : int
-
- cumulabs : int
34
C hapitre4
Réalisation de
l’application
35
Après avoir achevé la partie modélisation du système, nous entamons maintenant
la phase de mis en œuvre de notre application.
Dans ce chapitre nous allons s’intéresser aux captures d’écran qui présente le
résultat final de l’application que nous avons développé accompagnés des commentaires
explicatifs démontrant en détail l’utilité de chacune d’elle et son mode d’utilisation.
4.1. Présentation de la base de données
La base de données exploitée par notre application est une base relationnelle
PostgreSQL nommé « projet » contenant 12 tables (étudiant, niveau, semestre, module,
utilisateur, département, matière, année, tuteur, filière, inscription, séance).
36
Figure 14 : Fenêtre principale de PgAdmin III
37
4.2. Présentation du connecteur psqlODBC
4.2.1. Définition d’ODBC
ODBC est une API (Application Programming Interface) favorisant l’interaction et
l’accès à des serveurs de bases de données sans avoir à modifier le programme pour chaque
type de base de données et ainsi permettant d'interroger les serveurs de base de données.
Le connecteur ODBC de la base de données PostgreSQL (psqlODBC) n’est pas disponible
par défaut dans les sources de données ODBC, c’est pourquoi il était indispensable de le
télécharger.
4.2.2. Installation de psqlODBC
Figure 15 : Fenêtre d’installation de psqlODBC
38
Après cette installation sur le client, nous pouvons utiliser des pilotes ODBC
supplémentaires qui s’installent dans C:\Windows\System32\odbcad32.exe pour les machines
32 bits et dans C:\Windows\SysWOW64\odbcad32.exe pour les machines 64 bits.
Après avoir installé le pilote, la base n’est exploitable sauf si la data source system
(source de données) associé a été définie.
Figure 16 : Configuration d’une source de données ODBC pour PostgreSQL
Dans l'onglet Sources de données système, nous créons une nouvelle source
(Ajouter) et sélectionnons un pilote PostgreSQL dans la liste. Nous sélectionnons le pilote
ANSI, puis cliquons sur configurer Une fenêtre de configuration s'ouvre :
Notons qu’il faut bien renseigner les informations de la connexion :
Data Source : Nom de la source de données.
Database : Nom de la base de données à laquelle nous voulons nous connecter.
Server : Nom ou adresse IP du serveur.
39
User Name : Nom de l'utilisateur de la base de données (postgres).
Description : Une petite description pour la dsn.
SSL (Secure Sockets Layer) : protocole de sécurisation des échanges entre la
base de données et l’application.
Password : Mot de passe correspondant à User Name dans la base de données.
Ensuite nous cliquons sur Test afin de tester la connexion puis nous enregistrons les
modifications (Save).
4.3. Présentation des interfaces
4.3.1. Interface d’authentification
La fenêtre d’authentification permet de contrôler l’accès des différents acteurs à
l’application, par exemple un étudiant n’aura pas le droit de voir l’application car il ne
travaille pas ni au service scolarité ni à la direction.
40
Figure 17 : Interface d’authentification
Afin de lui afficher l’environnement du travail, l’utilisateur doit d’abord saisir un login
et un mot de passe valides.
Au cas où le login ou le mode passe sont erronées ou bien les champs sont vides,
l’utilisateur est prié à saisir de nouveau en affichant un message d’erreur.
41
4.3.2. Menu de l’application :
Figure 18 : Interface menu de l’application
Le menu est composé de trois éléments :
Nomenclature générale : cet élément permet de saisir les données de
base du système en remplissant les tables (module, niveau, semestre, année, matière,
département)
Gestion des inscriptions : cet onglet permet d’ajouter une inscription.
Emploi du temps : cette interface permet d’ajouter une séance dans un
emploi du temps.
Cet écran permet aux utilisateurs d’accéder aux différentes fenêtres de l’application.
42
4.3.3. Nomenclature générale
4.3.3.1. Ajout d’un niveau
Figure 19 : Interface ajout d’un niveau
Cette interface d’ajout comporte deux zones de texte de manière à saisir un N de
niveau et un niveau, et de les valider après en appuyant sur le bouton Ajouter Niveau à
condition que les deux champs saisis n’existent pas dans la base de données.
43
4.3.3.2. Ajout d’un département
Figure 20 : interface ajout d’un département
Afin d’ajouter un département, on doit remplir les deux champs N Département et
Département de telle sorte que les valeurs saisies n’existaient pas d’avance dans la base de
données. Et ensuite, On clique sur le bouton Ajouter Département pour valider ces données.
Le bouton Annuler permet d’annuler un ajout de département.
44
4.3.3.3. Ajout d’une filière
Figure 21 : Interface ajout d’une filière
Comme il se voit, la maquette d’ajout d’une filière comporte deux zones de texte N
Filière et Filière permettant de saisir les filières sur la base de données, sans oublier le
combobox qui permet de sélectionner le département qui va superviser la filière à ajouter.
Le bouton Ajouter Filière permet de valider l’ajout et le bouton Annuler quitte
l’interface et ainsi annule l’ajout.
45
4.3.3.4. Ajout d’un semestre
Figure 22 : Interface ajout d’un semestre
L’ajout d’un semestre s’effectue en saisissant dans les deux zones de texte sur
l’interface le N du semestre ainsi que le libellé du semestre.
L’ajout va être validé si on respecte la contrainte de clé primaire c’est-à-dire, on ne
peut pas saisir un N semestre déjà existant dans la base.
46
4.3.3.5. Ajout d’une année
Figure 23 : Interface ajout d’une année
L’ajout d’une année est semblable à tous les ajouts précédents (niveau, semestre),
son interface contient deux zones de texte qui permettent de saisir N année et Année ainsi que
deux boutons Ajouter Année et Annuler qui permettent respectivement d’ajouter une année et
de quitter l’application.
On ne peut pas saisir un numéro d’année déjà existant afin de respecter la clé
primaire qui doit être unique.
47
4.3.3.6. Ajout d’un module
Figure 24: Interface ajout d’un module
Cette interface contient deux zones de texte N Module et Module qui permettent
d’entrer les informations concernant le module, ainsi que quatre combobox : le premier sert à
sélectionner l’année pendant laquelle s’effectue l’ajout, le deuxième concerne Le semestre
auquel appartient le module, le troisième constitue la filière pour laquelle nous voulons
ajouter un module et le quatrième permet de sélectionner le niveau pour lequel s’opère l’ajout.
Les boutons classiques Ajouter Module et Annuler permettent respectivement de
valider les données et annuler l’ajout.
48
Les valeurs des combobox ne sont pas saisi à la main, ils sont importés directement
de la base de données ce qui facilite l’ajout sans être dérangé par les conditions des clés
étrangères.
4.3.3.7. Ajout d’une matière
Figure 25 : Interface ajout d’une matière
Cette interface permet d’ajouter un tuple à la table matière en sélectionnant dans un
combobox le module auquel appartient la matière ajoutée et en saisissons le numéro de
matière ainsi que l’intitulé de la matière.
Les valeurs du combobox sont importées directement de la base de données.
Le bouton Ajouter Matière permet d’ajouter une matière dans un module donné.
49
4.3.4. Gestion des inscriptions
4.3.4.1. Saisie des informations personnelles
Figure 26 : Interface saisie des informations personnelles d’un étudiant
Comme il se voit, cette interface permet de saisir les informations personnelles d’un
étudiant.
Elle contient plusieurs zones de textes telles que CNE, CIN, nom ,prénom, adresse,
téléphone, e-mail et également des combobox qui permettent de sélectionner la province de
naissance, ville de naissance, nationalité, ville d’habitat sans oublier le QDateTimeEdit
nommé date de naissance qui permet de respecter le format d’une date et les deux boutons
radio qui permettent de choisir le sexe de l’ étudiant.
50
Cet écran présente aussi une grille affiché en tableview qui est manipulé par le
QtableModel qui permet d’afficher les lignes présentes dans la table étudiant au niveau de la
base de données.
En effet, l’interface ci-dessus comporte quatre boutons à savoir :
Ajouter Inscription : qui permet d’ajouter une inscription, nous allons le
voir en détail dans la fenêtre concernant les inscriptions.
Supprimer Etudiant : qui permet de supprimer un étudiant sélectionné
au niveau de la grille.
Modifier : en cliquant sur le bouton modifier, la grille s’ouvre et donne
la possibilité à l’utilisateur de modifier les informations concernant un étudiant donné.
Quitter : qui permet de quitter la fenêtre et d’annuler l’ajout d’une
inscription.
51
4.3.4.2. Saisie des informations concernant le baccalauréat
Figure 27 : Interface saisie des informations concernant le baccalauréat
L’interface ci-dessous permet de sélectionner à partir de plusieurs combobox l’année
d’obtention du bac, série du bac, province du bac, mention et académie.
52
4.3.4.2. Saisie des informations à propos du tuteur
Figure 28 : Interface saisie des informations à propos du tuteur
Cette interface permet de saisir les informations concernant le tuteur de l’étudiant
déjà saisi : le cin du tuteur le nom, le prénom, l’adresse, le téléphone, l’adresse et les
professions s’il a plusieurs.
53
4.3.4.2. Ajout d’une inscription
Figure 29 : Interface ajout d’une inscription
Cette interface permet de sélectionner la filière, le niveau, l’année d’inscription à
l’aide des Combobox et finalement le numéro d’inscription dans une zone de texte.
Le bouton Ajouter Inscription permet d’ajouter une inscription d’un étudiant donné
identifié par CNE et ayant un tuteur dont le cin doit être saisi.
Notons que les données concernant les étudiants (baccalauréat, informations
personnelles), tuteur, inscription s’ajoute simultanément dans les tables associées dans la base
de données.
54
L’inscription ajoutée est diffusé dans la grille qui contient toutes les inscriptions
ajoutées à la base de données.
4.3.4. Gestion des emplois du temps
Figure 30 : Interface gestion des emplois du temps
Cette interface permet à l’utilisateur de lister les séances associées à une filière
donnée, ainsi qu’ajouter une séance en saisissant l’id de la séance, la salle, le semestre, la
filière, le niveau, le module, l’heure de début et fin de la séance, le type de séances et
finalement le numéro du groupe associé.
A la fin il pourra enregistrer la liste de séances pour une filière donnée en format
PDF et qui s’ouvre automatiquement depuis le même répertoire du projet en cliquant sur le
bouton format pdf.
55
Conclusion
Notre projet de fin d’études est considéré comme un complément à la formation
acquise pendant ces deux années d’étude à l’école supérieure de technologies d’Agadir car il
nous a permis d’exploiter toutes les connaissances cumulées ultérieurement.
En effet, nous avons constaté durant cette période de préparation du projet que ce
travail n’est pas uniquement une application directe des notions théoriques, mais aussi un
monde dans lequel la communication au sein du groupe et la discipline sont primordiales.
Au cours de ce projet, on a eu des moments où les difficultés s’accumulaient et les
solutions devenaient de plus en plus difficiles à trouver, mais on a pu dénicher des réponses
alternatives afin de résoudre ces problèmes partiellement ou même totalement (l’application
ne peut fonctionner selon l’étape qui pose des ennuis).
Parmi les problèmes auxquels nous nous sommes confrontés, nous pouvons citer :
La rareté de la documentation excepté la documentation officielle
propre aux programmes QT et à la base de données PostgreSQL.
En revanche, nous avons pu dépasser cet obstacle grâce à l’assistance de notre superviseur.
Les contraintes du temps qui nous ont empêchés de traiter les différents
aspects de la vie scolaire tel qu’ils sont définis dans le chapitre 3 à propos des méthodologies
de travail.
La difficulté des langages de programmation qui nous sont nouveaux et
que sans ce projet nous n’aurions pas eu l’occasion de les découvrir et dont nous n’avions
aucune idée de leur existence auparavant.
56
Nous ne pouvons pas laisser cette opportunité nous manquer sans mentionner que ce
projet n’est qu’un premier stade d’un grand chantier de recherche et de développement qui
peut être exploité en profondeur tout au long des années suivantes.
Nous nous sommes familiarisés avec des nouvelles technologies et nous avons
participé aux diverses phases d’élaboration d’un projet informatique ce qui nous a permis
d’acquérir non pas seulement un savoir professionnel pertinent mais aussi une expérience
personnelle inoubliable grâce à elle nous avons pu découvrir nos qualités et nos défauts sous
tension, mais cela nous n’a pas empêché d’apprendre des notions techniques et d’acquérir de
nouvelles compétences concernant les langages manipulés.
Finalement, nous espérant être à la hauteur des attentes et des souhaits de notre
encadrant Mr. Mahani.
57