Rapport pfa

92
ETABLI PAR : Mlle ALOZADE Ghizlane ENCADRE PAR : Mme ELALAMI Naima Période du stage : du 01/04/2010 au 31/05/2010

Transcript of Rapport pfa

Page 1: Rapport pfa

ETABLI PAR : Mlle ALOZADE Ghizlane

ENCADRE PAR : Mme ELALAMI Naima

Période du stage : du 01/04/2010 au 31/05/2010

Page 2: Rapport pfa

I. Partie introductive : a. Fiche de stage

b. Remerciement

c. Avant propos

d. Introduction

II. Partie présentative: a. Présentation du groupe Scolaire AHMED CHAOUKI

b. Outils de travail

III. Partie thématique : a. Cahier des charges

b. Modélisation

c. Réalisation

d. Conclusion

IV. Annexe :

2

Page 3: Rapport pfa

3

Page 4: Rapport pfa

NOM : ALOZADE

PRENOM  : Ghizlane

ETABLISSEMENT : ISTA Ntic Sidi Maarouf

OPTION  : technicienne spécialisée en Développement informatique

Lieu de stage : G.S AHMED CHAOUKI

PERIODE DE STAGE : 01/04/2010 – 31/05/2010

4

Page 5: Rapport pfa

Dans un premier temps je tiens à remercier généralement toute personne qui a contribué de prés ou de loin à l'élaboration de ce document et à ma formation en me fournissant l'occasion de passer un stage pour mettre en application mes connaissances acquises durant cette période. Je remercie également Madame ELALAMI Naima pour son aide et ses conseils concernant les missions évoquées dans ce rapport, qu’elle m'a apporté lors de différentes séances d'encadrement. J'adresse particulièrement mes remerciements aux personnes suivantes, pour l'expérience enrichissante et pleine d'intérêt qu'elles m'ont fait vivre durant ces deux mois au sein du Groupe scolaire AHMED CHAOUKI:

Messieurs Slaoui, Tazi Fondateurs du groupe scolaire AHMED CHAOUKI pour leur accueil et la confiance qu'ils m'ont accordé dés mon arrivée.

Madame Sarhane Directrice de l'école AHMED Chaouki2 pour m’avoir accordé toute sa confiance ; pour le temps qu’elle m’a consacré tout au long de cette période, sachant répondre à toutes mes interrogations ; sans oublier sa participation au cheminement de ce rapport.

Messieurs Fnouni, ElHouassli, Nourlile ainsi que l’ensemble du personnel des écoles ALMANHAL, OUADNILE, AHMED Chaouki1, AHMED Chaouki3 pour leur accueil sympathique et leur coopération professionnelle tout au long de ces deux mois.

5

Page 6: Rapport pfa

Finalement, je voudrai bien exprimer mes remerciements à mes parents pour leur confiance, leur aide et leur soutient précieux et à mes collègues pour les bons moments qu'on a passé ensemble durant ces deux dernières années scolaires.

6

Page 7: Rapport pfa

A LA FIN DE LA 2EME ANNEE DE FORMATION ET

POUR QUE CELLE CI SOIT ENRICHIE L’OFPPT NOUS

OBLIGE DE PASSER UN STAGE PRATIQUE QUANT A MOI

J’AI EFFECTUE UN STAGE AU SEIN DU GROUPE SCOLAIRE

AHMED CHAOUKI DURANT LA PERIODE 02/04/07 AU

26/05/07 POUR AVOIR UNE EXPERIENCE PRATIQUE ET

FAIRE UNE COMPARAISON ENTRE CE QUE J’AI APPRIS

DURANT MA FORMATION (EN 1ERE ET EN 2EME ANNEE

FILIERE TDI) ET CE QUE J’AI PRATIQUE EN TANT QUE

STAGIAIRE.

7

Page 8: Rapport pfa

J’ai été accueilli du 01 Avril au 31 Mai 2010 au sein du

Groupe Scolaire Ahmed CHOUKI.

Pendant ce stage, j’ai conçu puis réalisé une application

permettant la gestion scolaire.

Tout d’abord, je vais présenter dans la partie présentative le

groupe scolaire Ahmed Chaouki dans lequel j’ai effectué mon

stage, ainsi que les outils du travail.

J’exposerais ensuite dans la partie thématique le cahier des

charges, les différentes étapes de la modélisation, pour

terminer, je détaillerais les différentes étapes de la réalisation

de l’interface. Cette étude sera suivie d’une annexe.

.

8

Page 9: Rapport pfa

9

Page 10: Rapport pfa

Le Groupe Scolaire Ahmed Chaouki constitué de cinq établissements : OuadNil, Ahmed CHOUKI 1, Ahmed CHOUKI 2, Ahmed CHOUKI 3, ElManhal.A la capitale économique, Casablanca est une ville portuaire située à l’Ouest du Maroc. Le Groupe Scolaire Ahmed Chaouki (le poète arabe des temps modernes et le prince des poètes), grâce à une pédagogie novatrice capable de former des citoyens solidaires, respectueux de l’environnement, scolarise les enfants marocains, français et d’autres nationalités de la Maternelle à la Troisième. Les programmes sont conformes aux programmes français et aux accords franco-marocains.

1980 : Ouverture de l’école OuadNil. 1985 : Ouverture de l’école Ahmed CHOUKI 1. 1989 : Ouverture de l’école Ahmed CHOUKI 2. 1991 : Ouverture de l’école Ahmed CHOUKI 3. 2000 : Ouverture de l’école ElManhal.

Enseignement des langues   : Arabe dès la Moyenne Section Français Espagnol dès la 4ième de Collège Anglais dès la Grande Section

Structure   : Ahmed Chaouki 310

Page 11: Rapport pfa

6 salles de classes maternelles 10 salles de classes élémentaires 1 salle de repos pour les Petites Sections 2 salles de psychomotricité 1 BCD (bibliothèque) 1 salle d’informatique * 1 salle des maîtres 1 cour de récréation

ElManhal 24 salles de classes 3 salles d’Histoire-Géographie 1 salle d’Arts Plastiques 2 salles d’informatique* 2 laboratoires de langues 4 laboratoires de Physique 3 laboratoires de S.V.T 1 salle de Technologie 1 cour de récréation

*L’entretien et la gestion du parc informatique est assuré par un technicien spécialisé.Equipe pédagogique   : Les enseignants du Groupe Scolaire Ahmed Chaouki sont des professeurs détachés du Ministère marocain de l’Éducation nationale. Chaque professeur de l’école maternelle est accompagné d’une assistante. Pour le Secondaire (Collège), la Vie Scolaire est animée par un Conseiller Principal d’Éducation, aidé par des Assistants d’Éducation. L’équipe pédagogique du

11

Page 12: Rapport pfa

Primaire est animée par un Directeur, Chef d’établissement.Planning horaire   : Aide personnalisée : lundi, mardi, jeudi et vendredi de 13h45 à 14h15 Le mercredi de 11h45 à 12h15

Maternelle et CP Lundi, mardi, jeudi, vendredi 8h15 – 12h15 14h15 – 16h15le mercredi de 8h15 à 11h45

Du CE1 au CM2 Lundi, mardi, jeudi, vendredi 8h15 – 12h15 14h15 – 16h15Le mercredi de 8h15 à 11h45

Collège Lundi, mardi, jeudi, vendredi 8h – 12h 14h00 – 17h ou 18hLe mercredi de 8h à 12hInscriptions   : Admission SANS TEST en Maternelle

12

Page 13: Rapport pfa

Pour l’Élémentaire et le Secondaire, une évaluation de niveau est obligatoire.Le projet d’établissement   : Le projet d’établissement du Groupe Scolaire Ahmed Chaouki se donne pour mission de former , grâce à un enseignement solide et diversifié , des élèves qui seront des citoyens de demain disposant des atouts indispensables pour respecter et s’impliquer pleinement dans les environnements sociaux , économiques , culturels et écologiques de leur pays ou d’ailleurs . Les axes prioritaires de ce projet sont : La maîtrise des langues L’éducation à la citoyenneté L’acquisition d’une culture par l’observation et l’expérimentation scientifique et technologique de la communication et de l’information.Le développement de l'établissement s'est naturellement accompagné d'un accroissement des effectifs:

1991: 180 élèves 1995: 247 élèves 1998: 283 élèves 2003: 310 élèves

13

Page 14: Rapport pfa

Voici les logiciels utilisés dans le cadre de ce stage:

Adobe Photoshop pour l'édition graphique et la

retouche d'images.

NetBeans 6.0.1 pour le développement en java.

Pour le développement voici les langages que j'ai

utilisés:

UML

Oracle

14

Page 15: Rapport pfa

JAVA

15

Page 16: Rapport pfa

16

Page 17: Rapport pfa

Objectif du projet: Depuis ses débuts, le Groupe Scolaire Ahmed Chaouki accueille des élèves, marocains et étrangers. La gestion de ces élèves implique de nombreux documents papier circulant entre beaucoup de personnes. Enfin, il n'y a aucune cohérence entre toutes les données qui circulent. Le but de ce projet est donc de limiter les documents papier et d'assurer une certaine cohérence des données. Fonctionnalités requises: Cette application devra permettre au directeur :

La gestion et la consultation des employés La mise à jour et l’affichage des comptes

Cette application devra permettre aux secrétaires: La gestion du calendrier scolaire (année scolaire,

semestres, les jours et les demi-journées non ouvrés, les jours fériés).

L’affichage et la maintenance des fiches d’élèves(les informations personnelles, la vie scolaire(les absences et les sanctions) et le suivi(les notes et la décision de la fin d’année).

La gestion des emplois du temps. La mise à jour du paiement des frais scolaire. La consultation des archives.

17

Page 18: Rapport pfa

Diagramme de cas d’utilisation   :

D’après ce diagramme de cas d’utilisation on conclut qu’il y a deux acteurs dans notre système de gestion de scolarité :

Secrétaire:

18

Page 19: Rapport pfa

Une secrétaire peut consulter et gérer la liste des enseignants, des unités, des matières, des salles, des niveaux, des groupes et en plus créer une année scolaires et ses semestres, maintenir la liste des paiements des frais scolaires, gérer les jours et les demi-journées non ouvrés et afficher l’archive des employés et des élèves et elle a aussi la possibilité de maintenir et visualiser les coordonnées, la vie scolaire et le suivi d’un élève.Toute opération doit être précédée d’une authentification.

Directeur:

Un directeur peut effectuer toutes les taches d’une secrétaire et aussi gérer et consulter la liste des employés et des comptes.Toutes ces taches doivent être précédées d’une authentification lors de laquelle un directeur précise un login et un password.

19

Page 20: Rapport pfa

Scenario nominal:

Acteur principal : Secrétaire.Résumé : Secrétaire ajoute un nouvel élève.Déroulement de l’interaction :

1. Secrétaire accède à l’application.2. Le système demande à l’utilisateur de s’identifier.3. Secrétaire saisie son identifiant et son mot de

passe.4. Le Système affiche une fiche à remplir.5. Secrétaire remplie la fiche et choisit un niveau 6. Le système affiche la liste des groupes disponibles

concernant le niveau choisi par l’utilisateur.7. Secrétaire choisit un groupe.8. Le système affiche la confirmation de l’ajout de cet

élève.Exception:

• Si l’utilisateur saisie un login ou un mot de passe invalides le système lui redemande de s’identifier.

Diagramme de séquence :

20

Ajouter un nouvel élève :

Page 21: Rapport pfa

21

Page 22: Rapport pfa

Scenario nominal:

Acteur principal : Secrétaire.Résumé : Secrétaire crée une nouvelle séance.Déroulement de l’interaction :

1. Secrétaire accède à l’application.2. Le système demande à l’utilisateur de s’identifier.3. Secrétaire saisie son identifiant et son mot de

passe.4. Le système affiche une fiche à remplir.5.Secrétaire remplie la fiche en saisissant les

coordonnées concernant la séance.6. Le système enregistre la séance et affiche une

confirmation.Exception:

• Si l’utilisateur saisie un login ou un mot de passe invalides le système lui redemande de s’identifier.

• Si l’horaire de la séance saisie par le secrétaire est invalide le système lui redemande de choisir un nouveau horaire.

• Si la séance déjà existe c'est-à-dire l’enseignant, la salle ou le groupe choisis sont indisponibles, le système demande au secrétaire de remplir la fiche ou de remplacer l’ancienne séance.

22

Ajouter une nouvelle séance :

Page 23: Rapport pfa

Diagramme de séquence :

23

Page 24: Rapport pfa

Diagramme de classe   :

Ce diagramme de classe a pour but de schématiser les différentes règles de gestion, il contient en général 26 classes qui sont liés entre eux par des relations.

24

Page 25: Rapport pfa

25

Page 26: Rapport pfa

Page d’identification   :

L’identification de l’utilisateur se fait à travers la fenêtre d’identification, l’utilisateur est invité à saisir l’identifiant et le mot de passe et choisir un mode parmi « Mode Administratif >> et « Mode Secrétaire>> selon sa fonction ou son intention.

26

Page 27: Rapport pfa

Si l’utilisateur a cliqué sur le boutton « Se Connecter>> avant de cocher un mode un message d’erreur s’affiche dans lequel le systeme lui invite de choisir un mode.

27

Page 28: Rapport pfa

Si l’identifiant ou le mot de passe saisies par l’utilisateur sont invalides un message d’erreur s’affiche dans la fenêtre d’identification, sinon la page principale s’affiche selon le mode choisi.

28

Page 29: Rapport pfa

Mode Secrétaire   : La fenêtre principale est composée de trois objets, le premier objet contenant les différents services offrant par le système par exemple « Emploi du temps», « Notes» et« Archives»…La sélection de l’un des services permet la visualisation des sous-services, le contenu de la fenêtre principale varie selon le sous-service sélectionné du deuxième objet.

Le sous-service <<Calendrier>> contient quatre parties : la première partie permet l’ajout d’une année scolaire en

choisissant un nom, une date de début et une date de fin.

29

Page 30: Rapport pfa

La seconde partie permet l’ajout des semestres en choisissant un nom, une date de début et une date de fin *.

La troisième partie permet la création des jours et des demi-journées non ouvrés de l’établissement à partir des cases à cocher *.

La dernière partie permet l’ajout des jours fériés en choisissant un nom, une date de début et une date de fin, la modification et la suppression se fait à partir de la table *.

*le système affecte les semestres, les jours et les demi-journées non ouvrés et les jours fériés automatiquement à l’année scolaire courante.

30

Page 31: Rapport pfa

Le sous-service <<Matière & Unité>> offre la possibilité de maintenir la liste des matière et des unités.La mise à jour se fait à partir de la table.

31

Page 32: Rapport pfa

Le sous-service <<niveau>> permet la gestion de la liste des niveaux.Toute opération de mise à jour se fait à partir de la table par exemple pour ajouter un nouveau niveau il faut remplir la dernière ligne vide en saisissant le nom, les frais de scolarité, les frais de transport, les frais de la cantine et les frais d’assurance avant de cliquer sur « ajouter>>.

32

Page 33: Rapport pfa

Le sous-service <<groupe>> permet de maintenir la liste des groupes.Toute opération de mise à jour se fait à partir de la table par exemple pour supprimer un groupe il suffit de sélectionner sa ligne avant de cliquer sur « supprimer>>.

33

Page 34: Rapport pfa

Le service offre la possibilité de consulter et gérer la liste des enseignants de l’établissement à partir de la table.L’utilisateur a aussi la possibilité de filtrer cette liste en saisissant une chaine de caractère dans la zone de texte, la liste se varie selon la chaine saisie dans la zone.

34

Page 35: Rapport pfa

Le sous-service « salle>> permet la visualisation et la gestion de la liste des salles, la fenêtre contient aussi des boutons de navigation.

35

Page 36: Rapport pfa

La fenêtre ci-dessus permet de visualiser la liste des séances.Elle permet aussi l’ajout d’une nouvelle séance en choisissant un professeur, un niveau, un groupe, une unité, une salle, un horaire et un jour avant de cliquer sur le bouton « vérifier la disponibilité>>.

36

Page 37: Rapport pfa

Si le professeur, le groupe ou la salle sont indisponibles, le système demande à l’utilisateur de remplacer la séance à partir d’une boite de dialogue.

37

Page 38: Rapport pfa

Si l’horaire de nouvelle séance est invalide c’est-à-dire l’horaire appartient aux jours ou demi-journées non ouvrés de l’établissement, le système affiche un message d’erreur.

38

Page 39: Rapport pfa

L’utilisateur a la possibilité de supprimer une séance à partir

d’une liste qui contient toutes les séances de l’établissement en

affichant le numéro de la séance, le professeur, la salle, l’unité,

le groupe, le jour, l’heure de début et l’heure de fin.

39

Page 40: Rapport pfa

La fenêtre ci-dessus permet la visualisation dans une table

l’agenda d’un groupe choisi à partir d’une liste déroulante.

Le contenu de la deuxième liste déroulante se varie à partir du

niveau sélectionné dans la première liste déroulante.

40

Page 41: Rapport pfa

La fenêtre ci-dessus offre la possibilité de consulter dans

une table l’agenda d’un enseignant choisi à partir d’une liste

déroulante.

La fenêtre possède aussi un calendrier.

41

Page 42: Rapport pfa

La fenêtre ci-dessus possède une table contient la liste des élèves de l’établissement, l’utilisateur a la possibilité de filtrer cette liste par niveau ou groupe à partir des listes déroulantes ou bien par nom à partir d’une zone de texte, la fenêtre a aussi des boutons de navigation et des liens vers les fenêtres de la création ,la modification, la vie scolaire et le suivi des élèves.Cette interface permet aussi la suppression d’un élève en sélectionnant sa ligne, le système ajoute automatiquement cet élève à l’archive des élèves.

42

Page 43: Rapport pfa

Pour ajouter un élève il faut saisir ses coordonnées, les

informations concernant son responsable, lui affecter à un

niveau et à un groupe(le système affiche seulement la liste des

groupes disponibles c’est-à-dire dont le nombre des élèves est

inferieur à la capacité) et ajouter son image.

43

Page 44: Rapport pfa

En cliquant sur le bouton Parcourir une nouvelle fenêtre

s’affiche contient la liste des dossiers permettant à l’utilisateur

de choisir une image, l’image choisie dans la nouvelle fenêtre

s’affiche automatiquement dans la fenêtre de l’ajout.

Le bouton <<annuler>> permet de fermer cette fenêtre.

44

Page 45: Rapport pfa

La fenêtre de modification contient les informations courantes de l’élève sélectionné dans la page principale, l’utilisateur a la possibilité de modifier ces coordonnées.Le bouton <<annuler>> permet de fermer cette fenêtre.

45

Page 46: Rapport pfa

Pour modifier l’image d’un élève il suffit de choisir une autre

image à partir de la liste des dossiers.

46

Page 47: Rapport pfa

En cliquant sur <<vie scolaire >> une nouvelle fenêtre

s’affiche contenant les informations concernant les absences et

les sanctions de l’élève sélectionné.

47

Page 48: Rapport pfa

La fenêtre de la vie scolaire contient une liste des

sanctions et des absences et les informations personnelles d’un

élève choisi.

La fenêtre permet aussi la gestion des sanctions et la mise à

jour et la justification des absences.

Le bouton « annuler>> permet la fermeture de la fenêtre.

48

Page 49: Rapport pfa

L’utilisateur peut ajouter, modifier ou supprimer une

justification pour une absence choisi à partir de la fenêtre

principale.

49

Page 50: Rapport pfa

Une absence ne doit avoir qu’une seule justification, si ce n’est

pas le cas le système demande à l’utilisateur de remplacer

l’ancienne justification.

50

Page 51: Rapport pfa

En cliquant sur <<suivi élève >> une nouvelle fenêtre s’affiche

contenant les informations concernant les notes et les bulletins

de l’élève sélectionné.

51

Page 52: Rapport pfa

L’utilisateur a la possibilité de visualiser les notes d’un élève choisi et les filtrer par matière, année scolaire ou semestre.Les lignes contenant les notes qui sont inferieurs à 5 sont en rouge.Les lignes contenant les notes entre 5 et 6 sont en orange.Les lignes contenant les notes qui sont supérieurs à 6 sont en vert.

52

Page 53: Rapport pfa

L’utilisateur a la possibilité de visualiser les bulletins d’un élève choisi, si la note est inferieure à 5 le système affecte «Non  Admis>> à sa décision, si la note entre 5 et 6 l’utilisateur à la possibilité d’affecter une décision, si la note est supérieure à 6 le système affecte «Admis>> à sa décision.Les lignes dans lesquels la décision est « non Admis>> sont en rouge.Les lignes dans lesquels la décision est « Admis>> sont en vert.

53

Page 54: Rapport pfa

La fenêtre ci-dessus permet la consultation la gestion et la

filtration par matière, niveau et date des devoirs et elle permet

aussi la gestion des notes d’un devoir sélectionné.

54

Page 55: Rapport pfa

Pour créer un nouveau devoir il faut choisir sa matière, son

niveau, son type, son horaire et sa date.

La fenêtre contient aussi un bouton permet de revenir à la

sélection des devoirs.

55

Page 56: Rapport pfa

Cette interface permet l’affectation des notes d’un devoir choisi à un groupe choisi à partir d’une liste déroulante contient les groupes concernant le niveau de ce devoir Les lignes contenant les notes qui sont inferieurs à 5 sont en rouge.Les lignes contenant les notes entre 5 et 6 sont en orange.Les lignes contenant les notes qui sont supérieurs à 6 sont en vert.

56

Page 57: Rapport pfa

L’interface ci-dessous permet la visualisation et le

paiement des frais scolaires pour le mois courant, le système

supprime automatiquement les élèves qui n’ont pas payé les

frais scolaires du mois précédent.

57

Page 58: Rapport pfa

L’utilisateur visualise la liste des élèves archivés et il a

aussi la possibilité de filtrer cette liste par le nom saisie dans

une zone de texte.

58

Page 59: Rapport pfa

L’utilisateur visualise la liste des employés archivés et il a aussi la possibilité de filtrer cette liste par le nom saisie dans une zone de texte.La fenêtre principale contient un menu qui permet de quitter ou de se déconnecter.

59

Page 60: Rapport pfa

Mode administratif   :

Pour accéder au mode administratif l’utilisateur doit saisir

son identifiant et son mot de passe.

60

Page 61: Rapport pfa

L’utilisateur visualise, gère la liste des employés et il a

aussi la possibilité de filtrer cette liste par le nom saisie dans

une zone de texte.

61

Page 62: Rapport pfa

L’utilisateur visualise, gère la liste des comptes et il a aussi la possibilité de filtrer cette liste par le nom saisie dans une zone de texte.La fenêtre principale contient un menu qui permet de quitter l’application, se déconnecter ou passer au mode secrétaire.

62

Page 63: Rapport pfa

Un stage de fin de formation est pour moi la première expérience professionnelle dans le domaine de l'informatique, c’est pour cela ce projet était une étape très importante dans mon cycle de formation vu qu'il était une occasion très intéressante et bénéfique pour savoir comment appliquer, sur le plan pratique, des connaissances théoriques déjà acquises. Grâce à un environnement favorable pour le travail et avec un encadrement encourageant et permanent, j’ai pu réaliser mon projet de fin de formation suivant un plan organisé. Cependant mon stage ne se termine pas avec la soutenance, il me reste en effet encore deux mois à effectuer qui vont me permettre de voir non seulement la finalisation du projet, mais également de pouvoir diversifier ma fonction. Quoiqu'il en soit ce stage aura été une aventure enrichissante, que cela soit du point de vue technique que de l'humain.

63

Page 64: Rapport pfa

64

Page 65: Rapport pfa

Les requêtes SQL

i. Create table employee(id_emp number primary key, nom varchar2(50), prenom varchar2(50),datenaissance date, adresse varchar2(50), sexe varchar2(20),salaire number,tel varchar2(50),email varchar2(50), date_debut date,fonction varchar2(20) ) ;

ii. Create table compte(login varchar2(20) primary key,password varchar2(20) ,idemp number ,foreign key (idemp) references employee(id_emp) on delete cascade);

iii. Create table annscol (id_ann varchar2(50) primary key ,date_debut date,date_fin date);

iv. Create table semestre (id_semestre number primary key ,date_debut date,date_fin date,libelle varchar2(20), id_ann varchar2(20), foreign key (id_ann) references annscol(id_ann) on delete cascade);

v. Create table responsable(id_resp number primary key ,nom varchar2(50), prenom varchar2(50), adresse varchar2(50),sexe varchar2(20),tel varchar2(50),email varchar2(50)) ;

vi. Create table niveau(id_niveau varchar2(20) primary key,frais_scolarite number,frais_transport number,frais_cantine number,assurance number);

vii. Create table groupe(id_grp varchar2(20) primary key , id_niveau varchar2(20),foreign key(id_niveau) references niveau(id_niveau) on delete cascade,max_elve number);

viii. Create table eleve(id_eleve number primary key ,nom varchar2(50), prenom varchar2(50),datenaissance date, adresse varchar2(50),lieunaiss varchar2(20),sexe varchar2(20), date_scolarite date ,date_affiliation date,id_resp number,transport varchar2(20),restaurant varchar2(20),image blob,id_grp varchar2(20),foreign key (id_resp) references responsable (id_resp) on delete cascade, foreign key (id_grp) references groupe (id_grp) on delete cascade) ;

ix. Create table frais (id_frais number primary key,id_eleve number,mois number,id_ann varchar2(50), foreign key (id_ann) references annscol(id_ann) on delete cascade, foreign key (id_eleve) references eleve (id_eleve) on delete cascade);

x. Create table decision(id_decision number primary key,id_eleve number,id_ann varchar2(50), decision varchar2(20),foreign key (id_ann) references annscol(id_ann) on delete cascade, foreign key (id_eleve) references eleve (id_eleve) on delete cascade);

xi. Create table prof(id_prof number primary key ,nom varchar2(50), prenom varchar2(50), datenaissance date, adresse varchar2(50), sexe varchar2(20), salaire number,tel varchar2(50),email varchar2(50)) ;

xii. Create table arch_employee(id_emp number primary key, nom varchar2(50), prenom varchar2(50),datenaissance date, adresse varchar2(50), sexe varchar2(20),tel varchar2(50),email varchar2(50), date_debut date,date_fin date,fonction varchar2(20) ) ;

65

Page 66: Rapport pfa

xiii. Create table arch_eleve(id_eleve number primary key ,nom varchar2(50), prenom varchar2(50),datenaissance date, adresse varchar2(50),sexe varchar2(20) , date_debut date,date_fin date ) ;

xiv. Create table sall(id_sall number primary key,libelle varchar2(20),nbre_place number);

xv. Create table unite(id_unit number primary key,libelle varchar2(20));xvi. Create table matiere(id_mat number primary key,id_unit number,libelle

varchar2(20),foreign key(id_unit) references unite(id_unit) on delete cascade);

xvii. Create table devoir(id_devoir number primary key,id_mat number,id_smstr number, type varchar2(20),date_dev date,id_niveau varchar2(20),h_deb varchar2(5) , h_fin varchar2(5) ,foreign key(id_mat) references matiere(id_mat) on delete cascade,foreign key(id_smstr) references semestre(id_semestre) on delete cascade,foreign key(id_niveau) references niveau(id_niveau) on delete cascade);

xviii. Create table note(id_devoir number,id_eleve number,note number,primary key(id_devoir,id_eleve),foreign key(id_devoir) references devoir(id_devoir) on delete cascade,foreign key(id_eleve) references eleve(id_eleve) on delete cascade);

xix. Create table seance (id_seance number primary key,id_prof number,id_sall number,id_mat number,id_grp varchar2(20) , jour varchar2(20), h_deb varchar2(5) , h_fin varchar2(5) ,foreign key (id_prof) references prof (id_prof) on delete cascade, foreign key (id_sall) references sall (id_sall) on delete cascade, foreign key (id_mat) references matiere (id_mat) on delete cascade, foreign key (id_grp) references groupe (id_grp) on delete cascade);

xx. Create table abscent (id_abt number primary key,id_eleve number,date_debut date,h_debut varchar2(5),date_fin date, h_fin varchar2(5) ,foreign key(id_eleve) references eleve(id_eleve) on delete cascade);

xxi. Create table sanction (id_sanct number primary key ,id_eleve number,date_sanct date,sanction varchar2(50),motif varchar2(50),commentaire varchar2(50) ,foreign key(id_eleve) references eleve(id_eleve) on delete cascade);

xxii. Create table justification_abt (id_just number primary key,id_abt number,motif varchar2(200),moyen varchar2(200) ,commentaire varchar2(50) ,foreign key(id_abt) references abscent(id_abt) on delete cascade);

xxiii. Create table joursFerie(id number primary key,date_debut date,date_fin date,libelle varchar2(20),id_ann varchar2(50), foreign key (id_ann) references annscol(id_ann) on delete cascade);

xxiv. Create table joursNonOuvert(id number primary key,Jour varchar2(20),d_h varchar2(20) ,d_f varchar2(20),id_ann varchar2(50), foreign key (id_ann) references annscol(id_ann) on delete cascade);

xxv. Create sequence semp start with 1 increment by 1;xxvi. Create sequence ss start with 1 increment by 1;xxvii. Create sequence sj start with 1 increment by 1;

66

Page 67: Rapport pfa

xxviii. Create sequence sv start with 1 increment by 1;xxix. Create sequence sm start with 1 increment by 1;xxx. Create sequence su start with 1 increment by 1;xxxi. Create sequence sp start with 1 increment by 1;xxxii. Create sequence ssall start with 1 increment by 1;xxxiii. Create sequence sse start with 1 increment by 1;xxxiv. Create sequence se start with 1 increment by 1;xxxv. Create sequence sabt start with 1 increment by 1;xxxvi. Create sequence ssan start with 1 increment by 1;xxxvii. Create sequence sjust start with 1 increment by 1;xxxviii. Create sequence sr start with 1 increment by 1;xxxix. Create sequence s_frais start with 1 increment by 1;

xl. Create sequence s16 start with 1 increment by 1;xli. Create sequence s17 start with 1 increment by 1;xlii. Create sequence s18 start with 1 increment by 1;xliii. Create sequence s19 start with 1 increment by 1;xliv. Create sequence s20 start with 1 increment by 1;xlv. Create sequence s21 start with 1 increment by 1;xlvi. Create sequence s22 start with 1 increment by 1;xlvii. Create sequence s23 start with 1 increment by 1;xlviii. Create sequence s24 start with 1 increment by 1;xlix.

l. create or replace trigger archelv before delete on eleve for each rowbegininsert into arch_eleve values(:old.id_eleve ,:old.nom , :old.prenom ,:old.datenaissance ,:old.adresse ,:old.sexe , :old.date_scolarite ,sysdate ) ;end;/

li. create or replace trigger arch_emp before delete on employee for each rowbegininsert into arch_employee values ( :old.id_emp , :old.nom , :old.prenom , :old.datenaissance , :old.adresse , :old.sexe , :old.tel , :old.email , :old.date_debut ,sysdate , :old.fonction ) ;end;/

lii. create or replace trigger arch_prof before delete on prof for each rowbegininsert into arch_employee values ( :old.id_prof , :old.nom , :old.prenom , :old.datenaissance , :old.adresse , :old.sexe , :old.tel , :old.email ,’’ ,sysdate ,’Enseignant’) ;end;/

67

Page 68: Rapport pfa

UML   : UML (Unified Modeling Language, que l'on peut traduire par "langage de modélisation unifié) est une notation permettant de modéliser un problème de façon standard. Ce langage est né de la fusion de plusieurs méthodes existant auparavant, et est devenu désormais la référence en terme de modélisation objet, à un tel point que sa connaissance est souvent nécessaire pour obtenir un poste de développeur objet.

La notion d'objetLa programmation orientée objet consiste à modéliser informatiquement un ensemble d'éléments d'une partie du monde réel (que l'on appelle domaine) en un ensemble d'entités informatiques. Ces entités informatiques sont appelées objets. Il s'agit de données informatiques regroupant les principales caractéristiques des éléments du monde réel (taille, la couleur, ...). La difficulté de cette modélisation consiste à créer une représentation abstraite, sous forme d'objets, d'entités ayant une existence matérielle (chien, voiture, ampoule, ...) ou bien virtuelle (sécurité sociale, temps, ...).

Les méthodes objetsLa modélisation objet consiste à créer une représentation informatique des éléments du monde réel auxquels on s'intéresse, sans se préoccuper de l'implémentation, ce qui signifie indépendamment d'un langage de programmation. Il s'agit donc de déterminer les objets présents et d'isoler leurs données et les fonctions qui les utilisent. Pour cela des méthodes ont été mises au point. Entre 1970 et 1990, de nombreux analystes ont mis au point des approches orientées objets, si bien qu'en 1994 il existait plus de 50 méthodes objet. Toutefois seules 3 méthodes ont véritablement émergé  :

La méthode OMT de Rumbaugh La méthode BOOCH'93 de Booch La méthode OOSE de Jacobson (Object Oriented Software

Engineering)

A partir de 1994, Rumbaugh et Booch (rejoints en 1995 par Jacobson) ont unis leurs efforts pour mettre au point la méthode unifiée (unified method 0.8), incorporant les avantages de chacunes des méthodes précédentes.

La méthode unifiée à partir de la version 1.0 devient UML (Unified Modeling Language), une notation universelle pour la modélisation objet.

UML n'est pas une méthode dans la mesure où elle ne présente aucune démarche. A ce titre UML est un formalisme de modélisation objet. Le mot méthode parfois utilisé par abus de langage dans les

68

Page 69: Rapport pfa

pages suivantes ne doit donc pas être entendu comme une "démarche".

UML 1.0 est soumise à l'OMG (Object Management Group) en janvier 1997, mais elle ne sera acceptée qu'en novembre 1997 dans sa version 1.1, date à partir de laquelle UML devient un standard international.

Voici le récapitulatif des évolutions de ce langage de modélisation :

En 1995: Méthode unifiée 0.8 (intègrant les méthodes Booch'93 et OMT)

En 1995: UML 0.9 (intègrant la méthode OOSE) En 1996: UML 1.0 (proposée à l'OMG) En 1997: UML 1.1 (standardisée par l'OMG) En 1998: UML 1.2 En 1999: UML 1.3 En 2000: UML 1.4 En 2003: UML 1.5

Cette méthode représente un moyen de spécifier, représenter et construire les composantes d’un système informatique.

Avec la méthode UML, un objet est par exemple représenté de la façon suivante :

Intérêt d'une méthode objetLes langages orientés objet constituent chacun une manière spécifique d'implémenter le paradigme objet. Ainsi, une méthode objet permet de définir le problème à haut niveau sans rentrer dans les spécificités d'un langage. Il représente ainsi un outil permettant de définir un problème de façon graphique, afin par exemple de le présenter à tous les acteurs d'un projet (n'étant pas forcément des experts en un langage de programmation).

De plus, le fait de programmer à l'aide d'un langage orienté objet ne fait pas d'un programmeur un concepteur objet. En effet il est tout à fait

69

Page 70: Rapport pfa

possible de produire un code syntaxiquement juste sans pour autant adopter une approche objet. Ainsi la programmation orientée objet implique

en premier lieu une conception abstraite d'un modèle objet (c'est le rôle de la méthode objet)

en second plan l'implémentation à l'aide d'un langage orienté objet (tel que C++/Java/...)

Une méthode objet est donc d'une part une méthode d'analyse du problème (afin de couvrir toutes les facettes du problème), d'autre part un langage permettant une représentation standard stricte des concepts abstraits (la modélisation) afin de constituer un langage commun.

Qu'est-ce qu'un modèle ?La modélisation consiste à créer une représentation simplifiée d'un problème: le modèle.

Grâce au modèle il est possible de représenter simplement un problème, un concept et le simuler. La modélisation comporte deux composantes :

L'analyse, c'est-à-dire l'étude du problème la conception, soit la mise au point d'une solution au problème

Le modèle constitue ainsi une représentation possible du système pour un point de vue donné.

La modélisation UMLLe méta modèle UML fournit une panoplie d'outils permettant de représenter l'ensemble des éléments du monde objet (classes, objets, ...) ainsi que les liens qui les relie.

Toutefois, étant donné qu'une seule représentation est trop subjective, UML fournit un moyen astucieux permettant de représenter diverses projections d'une même représentation grâce aux vues. Une vue est constituée d'un ou plusieurs diagrammes. On distingue deux types de vues :

Les vues statiques, c'est-à-dire représentant le système physiquement

o diagrammes d'objetso diagrammes de classeso diagrammes de cas d'utilisationo diagrammes de composantso diagrammes de déploiement

Les vues dynamiques, montrant le fonctionnement du système o diagrammes de séquence

70

Page 71: Rapport pfa

o diagrammes de collaborationo diagrammes d'états-transitionso diagrammes d'activités

Les cas d'utilisationLes cas d'utilisation (en anglais use cases) permettent de représenter le fonctionnement du système vis-à-vis de l'utilisateur, c'est donc une vue du système dans son environnement extérieur.

Oracle   : Oracle est un SGBD (système de gestion de bases de données) édité par la société du même nom (Oracle Corporation - http://www.oracle.com), leader mondial des bases de données.

La société Oracle Corporation a été créée en 1977 par Lawrence Ellison, Bob Miner, et Ed Oates. Elle s'appelle alors Relational Software Incorporated (RSI) et commercialise un Système de Gestion de Bases de données relationnelles (SGBDR ou RDBMS pour Relational Database Management System) nommé Oracle.

En 1979, le premier prototype (RDBMS - RSI1) intégrant la séparation des espaces d'adressage entre les programmes utilisateurs et le noyau Oracle est commercialisé. Cette version est entièrement développée en langage assembleur. La seconde version (RDBMS - RSI2) est un portage de l'application sur d'autres plates-formes.

En 1983 la troisième version apporte des améliorations au niveau des performances et une meilleure prise en charge du SQL. Cette version est entièrement codée en langage C. A la même époque RSI change de raison sociale et devient Oracle.

En 1984 la première version d'Oracle (Oracle 4) est commercialisée sur les machines IBM.

En 1985 Oracle 5 permet une utilisation client-serveur grâce au middleware SQL*Net.

En 1986 Oracle a été porté sur la plateforme 8086.

En 1988 Oracle 6 est disponible sur un grand nombre de plates-formes et apporte de nombreuses nouvelles fonctionnalités ainsi qu'une amélioration notable des performances.

En 1991, Oracle 6.1 propose une option Parallel Server (dans un premier temps sur la DEC VAX, puis rapidement sur de nombreuses autres plates-formes).

71

Page 72: Rapport pfa

En 1992, Oracle 7 sort sur les plates-formes UNIX (elle ne sortira sur les plates-formes Windows qu'à partir de 1995). Cette version permet une meilleure gestion de la mémoire, du CPU et des entrées-sorties. La base de données est accompagnée d'outils d'administration (SQL*DBA) permettant une exploitation plus aisée de la base. En 1997, la version Oracle 7.3 (baptisée Oracle Universal Server) apparaît, suivie de la version 8 offrant des capacités objet à la base de données

Oracle est écrit en langage C et est disponible sur de nombreuses plates-formes matérielles (plus d'une centaine) dont :

AIX (IBM) Solaris (Sun) HP/UX (Hewlett Packard) Windows NT (Microsoft)

Oracle depuis la version 8.0.5 est disponible sous Linux

Les versions d'OracleOracle se décline en plusieurs versions

Oracle Server Standard, une version comprenant les outils les plus courants de la solution Oracle. Il ne s'agit pas pour autant d'une version bridée...

Oracle Server Enterprise Edition

Les fonctionnalités d'OracleOracle est un SGBD permettant d'assurer :

La définition et la manipulation des données La cohérence des données La confidentialité des données L'intégrité des données La sauvegarde et la restauration des données La gestion des accès concurrents

Les composants d'OracleOutre la base de données, la solution Oracle est un véritable environnement de travail constitué de nombreux logiciels permettant notamment une administration graphique d'Oracle, de s'interfacer avec des produits divers et d'assistants de création de bases de données et de configuration de celles-ci.

72

Page 73: Rapport pfa

On peut classer les outils d'Oracle selon diverses catégories :

Les outils d'administration Les outils de développement Les outils de communication Les outils de génie logiciel Les outils d'aide à la décision

Les outils d'administration d'OracleOracle est fourni avec de nombreux outils permettant de simplifier l'administration de la base de données. Parmi ces outils, les plus connus sont :

Oracle Manager (SQL*DBA) NetWork Manager Oracle Enterprise Manager Import/Export : un outil permettant d'échanger des données entre

deux bases Oracle

Outils de développement d'OracleOracle propose également de nombreux outils de développement permettant d'automatiser la création d'applications s'interfaçant avec la base de données. Ces outils de développement sont :

Oracle Designer Oracle Developer SQL*Plus : une interface interactive permettant d'envoyer des

requêtes SQL et PL/SQL à la base de données. SQL*Plus permet notamment de paramétrer l'environnement de travail (formatage des résultats, longueur d'une ligne, nombre de lignes par page, ...)

Oracle Developper : il s'agit d'une suite de produits destinés à la conception et à la création d'applications client-serveur. Il est composé de 4 applications :

o Oracle Forms (anciennement SQL*Forms) : un outil permettant d'interroger la base de données de façon graphique sans connaissances préalables du langage SQL. SQL*Forms permet ainsi de développer des applications graphiques (fenêtres, formulaires, ...) permettant de sélectionner, modifier et supprimer des données dans la base.

o Oracle Reports (SQL*ReportWriter) : un outil permettant de réaliser des états

73

Page 74: Rapport pfa

o Oracle Graphics : un outil de génération automatique de graphiques dynamiques pour présenter graphiquement des statistiques réalisées à partir des données de la base

o Procedure Builder : un outil permettant de développer des procédures, des fonctions et des packages

JAVAJava est un langage objet ressemblant au langage C++. Il a été mis au point en 1991 par la firme Sun Microsystems. Le but de Java à l'époque était de constituer un langage de programmation pouvant être intégré dans les appareils électroménagers, afin de pouvoir les contrôler, de les rendre interactifs, et surtout de permettre une communication entre les appareils. Ce programme de développement se situait dans un projet appelé Green, visant à créer une télécommande universelle (Star 7) comprenant un système d'exploitation capable de gérer l'ensemble des appareils électroménagers de la maison. Etant donné que le langage C++ comportait trop de difficultés, James Gosling, un des acteurs du projet (considéré désormais comme le père de Java) décida de créer un langage orienté objet reprenant les caractéristiques principales du C++, en éliminant ses points difficiles, et en le rendant moins encombrant et plus portable (il devait pouvoir être intégré dans n'importe quel appareil...). Ainsi, ce langage fut baptisé dans un premier temps Oak (Oak signifiant chêne). Toutefois, puisque ce nom était déjà utilisé, il fut rebaptisé Java en l'honneur de la boisson préférée des programmeurs, c'est-à-dire le café, dont une partie de la production provient de l'île Java.

A la même époque, le Web faisait son apparition, or Java possédait toutes les caractéristiques faisant de lui un langage approprié pour le Web :

Le réseau des réseaux rassemblant sur une même structure des machines différentes, il fallait un langage capable de fonctionner sur chacune d'entre-elles: Java était conçu pour être portable

Le web était limité en bande passante: Java était conçu pour être petit

Ainsi, en 1994, l'équipe décida de mettre au point un navigateur (baptisé HotJava) intégrant Java et capable de faire fonctionner des applets (des petites applications fonctionnant dans un navigateur). C'est ainsi que fin 1995 Java eut un terrible essor avec le soutien de Netscape, qui ne tarda pas à inclure Java dans son navigateur...

Comparaison de Java et de C++Java est très proche du langage C++ étant donné qu'il a quasiment la même syntaxe. Toutefois Java est plus simple que le langage C++ bien qu'il s'en inspire, car les caractéristiques critiques du langage C++ (celles

74

Page 75: Rapport pfa

qui sont à l'origine des principales erreurs) ont été supprimées. Cela comprend :

Les pointeurs La surcharge d'opérateurs L'héritage multiple La libération de mémoire est transparente pour l'utilisateur (il n'est

plus nécessaire de créer de destructeurs) Une meilleure gestion des erreurs Les chaines et les tableaux sont désormais des objets faisant partie

intégrante du langage

Toutefois Java est beaucoup moins rapide que le langage C++, il perd en rapidité ce qu'il gagne en portabilité

75