Download pdf - Rapport pfe 20112012.pdf

Transcript
Page 1: Rapport pfe 20112012.pdf

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.

Page 2: Rapport pfe 20112012.pdf

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.

Page 3: Rapport pfe 20112012.pdf

10

C hapitre1

Contexte générale du

projet

Page 4: Rapport pfe 20112012.pdf

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.

Page 5: Rapport pfe 20112012.pdf

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.

Page 6: Rapport pfe 20112012.pdf

13

C hapitre2

Outils de

développement

Page 7: Rapport pfe 20112012.pdf

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.

Page 8: Rapport pfe 20112012.pdf

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.

Page 9: Rapport pfe 20112012.pdf

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

Page 10: Rapport pfe 20112012.pdf

17

Figure 1 : Les composants de QT designer

2.2.2. PgAdmin III

Page 11: Rapport pfe 20112012.pdf

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

Page 12: Rapport pfe 20112012.pdf

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.

Page 13: Rapport pfe 20112012.pdf

20

C hapitre3

Modélisation du

système d’information

Page 14: Rapport pfe 20112012.pdf

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,

Page 15: Rapport pfe 20112012.pdf

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)

Page 16: Rapport pfe 20112012.pdf

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

Page 17: Rapport pfe 20112012.pdf

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é .

Page 18: Rapport pfe 20112012.pdf

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.

Page 19: Rapport pfe 20112012.pdf

26

Diagramme de séquence système :

Figure 6 : Diagramme de séquence : Nomenclature générale

Page 20: Rapport pfe 20112012.pdf

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

Page 21: Rapport pfe 20112012.pdf

28

Diagramme de séquence système :

Figure 8: Diagramme de séquence : Inscription des étudiants

Page 22: Rapport pfe 20112012.pdf

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

Page 23: Rapport pfe 20112012.pdf

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

Page 24: Rapport pfe 20112012.pdf

31

Diagramme de séquence système :

Figure 11 : Diagramme de séquence : Gestion des emplois du temps

Page 25: Rapport pfe 20112012.pdf

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

Page 26: Rapport pfe 20112012.pdf

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

Page 27: Rapport pfe 20112012.pdf

34

C hapitre4

Réalisation de

l’application

Page 28: Rapport pfe 20112012.pdf

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).

Page 29: Rapport pfe 20112012.pdf

36

Figure 14 : Fenêtre principale de PgAdmin III

Page 30: Rapport pfe 20112012.pdf

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

Page 31: Rapport pfe 20112012.pdf

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.

Page 32: Rapport pfe 20112012.pdf

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.

Page 33: Rapport pfe 20112012.pdf

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.

Page 34: Rapport pfe 20112012.pdf

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.

Page 35: Rapport pfe 20112012.pdf

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.

Page 36: Rapport pfe 20112012.pdf

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.

Page 37: Rapport pfe 20112012.pdf

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.

Page 38: Rapport pfe 20112012.pdf

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.

Page 39: Rapport pfe 20112012.pdf

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.

Page 40: Rapport pfe 20112012.pdf

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.

Page 41: Rapport pfe 20112012.pdf

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é.

Page 42: Rapport pfe 20112012.pdf

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.

Page 43: Rapport pfe 20112012.pdf

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.

Page 44: Rapport pfe 20112012.pdf

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.

Page 45: Rapport pfe 20112012.pdf

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.

Page 46: Rapport pfe 20112012.pdf

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.

Page 47: Rapport pfe 20112012.pdf

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.

Page 48: Rapport pfe 20112012.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.

Page 49: Rapport pfe 20112012.pdf

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.

Page 50: Rapport pfe 20112012.pdf

57