Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rapport pfa

1,441 views

Published on

Rapport de stage

Published in: Technology
  • Be the first to like this

Rapport pfa

  1. 1. Période du stage : du 01/04/2010 au 31/05/2010 ETABLI PAR : Mlle ALOZADE Ghizlane ENCADRE PAR : Mme ELALAMI Naima
  2. 2. 2 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 :
  3. 3. 3
  4. 4. 4 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
  5. 5. 5 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
  6. 6. 6 Chaouki3 pour leur accueil sympathique et leur coopération professionnelle tout au long de ces deux mois. 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.
  7. 7. 7 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.
  8. 8. 8 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. .
  9. 9. 9
  10. 10. 10 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
  11. 11. 11  Anglais dès la Grande Section Structure :  Ahmed Chaouki 3  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 :
  12. 12. 12 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 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 – 16h15 le mercredi de 8h15 à 11h45  Du CE1 au CM2 Lundi, mardi, jeudi, vendredi 8h15 – 12h15 14h15 – 16h15 Le mercredi de 8h15 à 11h45
  13. 13. 13  Collège Lundi, mardi, jeudi, vendredi 8h – 12h 14h00 – 17h ou 18h Le mercredi de 8h à 12h Inscriptions : Admission SANS TEST en Maternelle 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é
  14. 14. 14 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
  15. 15. 15 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  JAVA
  16. 16. 16
  17. 17. 17 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.
  18. 18. 18 Diagramme de cas d’utilisation :
  19. 19. 19 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: 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.
  20. 20. 20  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. Ajouter un nouvel élève :
  21. 21. 21  Diagramme de séquence :
  22. 22. 22  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. Ajouter une nouvelle séance :
  23. 23. 23  Diagramme de séquence :
  24. 24. 24 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.
  25. 25. 25
  26. 26. 26 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.
  27. 27. 27 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.
  28. 28. 28 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.
  29. 29. 29 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.
  30. 30. 30  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.
  31. 31. 31 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.
  32. 32. 32 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>>.
  33. 33. 33 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>>.
  34. 34. 34 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.
  35. 35. 35 Le sous-service « salle>> permet la visualisation et la gestion de la liste des salles, la fenêtre contient aussi des boutons de navigation.
  36. 36. 36 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é>>.
  37. 37. 37 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.
  38. 38. 38 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.
  39. 39. 39 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.
  40. 40. 40 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.
  41. 41. 41 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.
  42. 42. 42 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.
  43. 43. 43 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.
  44. 44. 44
  45. 45. 45 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.
  46. 46. 46 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.
  47. 47. 47 Pour modifier l’image d’un élève il suffit de choisir une autre image à partir de la liste des dossiers.
  48. 48. 48 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é.
  49. 49. 49 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.
  50. 50. 50 L’utilisateur peut ajouter, modifier ou supprimer une justification pour une absence choisi à partir de la fenêtre principale.
  51. 51. 51 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.
  52. 52. 52 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é.
  53. 53. 53 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.
  54. 54. 54 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.
  55. 55. 55 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é.
  56. 56. 56 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.
  57. 57. 57 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.
  58. 58. 58 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.
  59. 59. 59 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.
  60. 60. 60 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.
  61. 61. 61 Mode administratif : Pour accéder au mode administratif l’utilisateur doit saisir son identifiant et son mot de passe.
  62. 62. 62 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.
  63. 63. 63 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.
  64. 64. 64 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.
  65. 65. 65
  66. 66. 66 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);
  67. 67. 67 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) ) ; 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);
  68. 68. 68 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; 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 row begin insert into arch_eleve values(:old.id_eleve ,:old.nom , :old.prenom ,:old.datenaissance ,:old.adresse ,:old.sexe , :old.date_scolarite ,sysdate ) ; end;
  69. 69. 69 / li. create or replace trigger arch_emp before delete on employee for each row begin insert 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 row begin insert into arch_employee values ( :old.id_prof , :old.nom , :old.prenom , :old.datenaissance , :old.adresse , :old.sexe , :old.tel , :old.email ,’’ ,sysdate ,’Enseignant’) ; end; /
  70. 70. 70 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'objet La 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 objets La 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.
  71. 71. 71 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 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 objet Les 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
  72. 72. 72 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 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 UML Le 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.
  73. 73. 73 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'objets o diagrammes de classes o diagrammes de cas d'utilisation o diagrammes de composants o diagrammes de déploiement  Les vues dynamiques, montrant le fonctionnement du système o diagrammes de séquence o diagrammes de collaboration o diagrammes d'états-transitions o diagrammes d'activités  Les cas d'utilisation Les 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
  74. 74. 74 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). 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'Oracle Oracle 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...
  75. 75. 75  Oracle Server Enterprise Edition  Les fonctionnalités d'Oracle Oracle 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'Oracle Outre 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. 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'Oracle Oracle 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
  76. 76. 76  Import/Export : un outil permettant d'échanger des données entre deux bases Oracle  Outils de développement d'Oracle Oracle 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 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 JAVA Java 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
  77. 77. 77 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 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
  78. 78. 78 Toutefois Java est beaucoup moins rapide que le langage C++, il perd en rapidité ce qu'il gagne en portabilité

×