Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
«REPOBLIKAN’I MADAGASIKARA
Tanindrazana-Fahafahana-Fandrosoana
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE
SCIENTIFIQUE
ECOLE NORMALE SUPERIEURE POUR L’ENSEIGNEMENT TECHNIQUE
DEPARTEMENT DE GENIE MECANIQUE
Mémoire de fin d’ étude pour l’’ obtention du diplôme de
C.A.P.E.N
SYSTEME D’INFORMATIONS POUR LA SUIVIE
DE LA SCOLARITE DES ETUDIANTS DE
L’ENSET
Présenté par :
RANANDRO Fulgence Dieu donné - RAKOTONINDRIANA Haingo Sahala
Encadreurs : Messieurs RANDRIANIVOSOA Ramamonjy
Messieurs RAVELOSON Jeannot,
30 Octobre 2010
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
SUJET DE MEMOIRE
« Système d’informations
pour la suivie de la scolarité des étudiants de l’ENSET »
Cahier des charges
Contexte
Actuellement, l’ENSET ne dispose pas d’un système d’informations pour traiter de les tâches
de la scolarité et pour archiver le parcours des étudiants durant ses études à l’Ecole. Seuls
les outils de bureautique et les registres manuels classiques sont utilisés.
Il s’avère alors intéressant de combler cette lacune par la conception d’un système
d’informations basé sur une base de données accessible grâce à un site web dynamique.
But
Il s’agit de concevoir et de réaliser un portail web dynamique pour la suivie de la scolarité
des étudiants inscrits à l’ENSET, pour gérer de façon plus efficace et rapide les données.
Cahier des charges
Annuaire
Répertoire des projets et mémoires
Gestion des documents et dossiers pédagogiques : relevé des notes, certificats de scolarité,
carte d’étudiant, carte de bibliothèque
Forum pour échange d’idées
Travaux à faire
Collecte des informations de base constituant l’essentielle pour la suivie de la scolarité
Conception de la base de donnée ;
Construction de la base de données avec MySQL
Conception du site web dynamique pour l’accès à la base de données
modélisation UML
Tests sur un serveur local Apache
Hébergement
Documents :
- Cours UML, PHP, Javascript
- Documents Webmaster
- Programmation orientée Objet
RAKOTONDRIATSARA H Rindrantsoa Conception d’un logiciel de gestion de bibliothèque
en ligne, rapport de mémoire d’ingéniorat ESP 2003
LAZAMAHANDRY Toby Hafatra et ANDRIANATOANDRO Vonifanjaniaina, Plate-forme de
formation en ligne, mémoire d’ingéniorat ESP, 2002
Responsables : ANDRIANIVOSOA Ramamonjy
RAVELOSON Jeannot
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
Nombre d’étudiants : 2 UFR Mathématiques&Informatiques
REMERCIEMENTS
Remercions DIEU de nous avoir donné la santé, la force et le courage tout au long de
l’accomplissement de ce travail.
Ce travail a été effectué sous la direction des Messieurs ANDRIANIVOSOA Ramamonjy
Et RAVELOSON Jeannot, nos encadreurs.
Nous sommes heureux de pouvoir exprimer pleinement ici nos profondes reconnaissances
pour ses bienveillances attention, ses précieux conseils ainsi que les nombreux
encouragements qu’ils n’ont cessé de prodiguer du début jusqu’à la fin de ce travail.
Hommage respectueux et sincère remerciement également :
A Monsieur le président de jury qui va porté son jugement sur ce travail ;
A tous les enseignants de l’ENSET qui ont donné leur savoir faire pour notre formation
durant ces cinq années d’études.
A tous nos camarades de promotion qui ont su une atmosphère fraternelle
A toutes les personnes qui ont porté leurs aides et soutient pour l’accomplissement de ce
travail.
Nous ne serions pas terminé sans dire un grand merci à toutes nos familles.
RANANDRO RAKOTONINDRIANA
Fulgence Dieu donné Haingo Sahala
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
RESUME
Mots clés : Système d’informations, Base de données, SGBD, serveur, client, MySQL, page
dynamique, PHP.
Contexte
Actuellement, l’ENSET ne dispose pas d’un véritable système d’informations informatique
pour traiter les tâches inhérentes de la scolarité. Seuls les outils de bureautique et les
registres manuels classiques sont utilisés.
Ce travail de mémoire consiste à combler cette lacune par la conception d’un système
d’informations basé sur une base de données accessible grâce à un site web dynamique.
But
Il s’agit de concevoir et de réaliser un portail web dynamique pour la suivie de la scolarité
des étudiants inscrits à l’ENSET., pour gérer de façon plus efficace et rapide les données.
Moyens et méthodes utilisés
Le système est modélisé par la méthode UML. Toutes les informations nécessaires sont
stockées dan une base de données construite avec EasyPHP et installée dans un serveur
APACHE. L’accès à cette base de données se fait grâce à un site web dynamique conçu en
PHP.
Résultats
La base de données est construite, et le site est fonctionnel. Ce dernier inclut des fonctions
de recherches sur les travaux de mémoires ou projets effectués, ainsi qu’une annuaire pour
la recherche de personnes; il contient et permet de consulter, avec des modes d’accès
hiérarchisés, les données relatives à la scolarité, entre autre les résultats des examens
(relevée des notes, etc.), les projets ou mémoires de fin d’étude. La délivrance des certificats
de scolarité, de cartes d’étudiants ou de carte d’accès à la bibliothèque est prévue.
Conclusion et perspective
Le site a été testé avec des données restreintes. Il reste à saisir toutes les données
archivées à l’Ecole. Des améliorations sont envisageables, notamment sur la recherche
thématique sur les projets et mémoires réalisés. Ce travail sera d’une grande utilité pour le
service de la scolarité et les responsables pédagogiques à l’ENSET
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
GLOSSAIRE
Abréviations Significations
ANSI
HTML
IP
MCD
MLD
PHP
SGBD
SI
SQL
UML
XML
American Standards Institute
Hypertext Markup Langage
Internet Protocol
Modèle Conceptuel des données
Modèle Logique des Données
Hypertext preprocessor
Système de Gestion de Base de Données
Système d’informations
Structured Query Langage
Unified Modeling Langage
Xtensible Markup Langage
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
1
INTRODUCTION GENERALE
Actuellement, le système d’informations fait partie intégrante de toute institution, et à plus
forte raison les établissements de formation supérieures.
L’ENSET ne dispose pas d’un système d’informations pour traiter les tâches de la scolarité
et aussi pour archiver le parcours des étudiants durant ses études à l’Ecole.
Ce travail de mémoire a pour but de concevoir un système d’informations pour la suivie de la
scolarité des étudiants de l’ENSET notamment l’inscription des étudiants, leurs notes et
aussi l’archive des projets et mémoires sous forme d’une base de données accessible grâce
à un site web dynamique.
Le site en question comprend deux types d’accès :
Accès privé : accès pour le service de la scolarité
Accès public : accès pour les visiteurs.
Le langage UML (Unified Modeling Language ou langage unifié de modélisation) est l’un des
outils de modélisation objets dont le but est de formaliser le système d’information, afin de
dépasser l’ambiguïté de la langue naturelle. UML permet donc de standardiser et de
normaliser le processus de modélisation des données lors de la phase de conception afin de
lui intégrer au système de gestion de base de données (SGBD).
Le rapport se divise en trois parties. La première partie expose la théorie et les outils de
modélisation nécessaires pour modéliser la base de données, la seconde traite la partie
réalisation et enfin la troisième l’implication pédagogique apportée par ce travail.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
2
PARTIE1 : ETUDE THEORIQUE
Cette partie introduit les outils théoriques nécess aires pour la construction d’une
base de données.
I. Systèmes d’informations
1. introduction
Un système d’informations est un système dont le ré sultat premier est l’information. Il
peut avoir des résultats secondaires qui ont trait à la surveillance d’informations pour
le compte du système englobant. L’information n’est pas seulement un résultat mais
également une source importante utilisée par les SI .
2. Définition
Un système d’informations est un ensemble organis é de ressources (personnels,
données, procédures, matériels, logiciels,...)
Permettant d’acquérir, stocker, de structurer et d e communiquer des informations
sous forme de texte, image, son ou des données codé es dans des organisations.
3. Les différents systèmes d’informations
Selon leur finalité principale, on distingue des :
SI supports d’opérations (traitements de transactio ns, contrôle de processus
industriel, supports d’opérations de bureau et de c ommunication)
SI supports de gestions (aide à la production de ra pport, aide à la décision…)
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
3
4. Utilité d’un système d’informations
Un SI supporte une certaine fonction par exemple da ns une entreprise commerciale, le
SI peut la fonction de vente.
5. Conclusion
Un des domaines des SI est le modèle accompagné de la modélisation. Mais il faut
avoir une entité dans la quelle il est le stocker l es informations. D’où la nécessité
d’une base de donnée.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
4
II. Les bases de données et le système de gestion d e base données
Introduction
La base de données est le premier moyen de gérer le s données. La notion de base de
données est nécessaire pour concevoir un système d’ information. En effet notre
système d’informations est basé sur le mécanisme et la manipulation des bases de
données. Dans ce chapitre, on va parler des théorie s de base de données ainsi que le
méthodes pour en construire une.
1. Les bases de données
1.1 Définition :
Une base de donnée est une entité dans la quelle i l est possible de stocker des
façons structurés et avec le moins de redondance po ssible. Ces données doivent
pouvoir être utilisées par des programmes, par des utilisateurs différents, afin de
pouvoir mettre en commun ces informations, d’où le nom de base.
On parle généralement d’un système d’information po ur designer toute la structure
regroupant les moyens mis en place pour pouvoir par tager des données.
1.2 Propriété :
Une base de données doit être :
Exhaustive : elle contient toutes les infirmations requirent pour le service
Unique : la même information n’est présente qu’une seule fois (pas de doublement)
1.3 Utilité des bases de données :
Une base de données permet de mettre des données à la disposition d’utilisateurs
pour une consultation, une saisie ou bien une mise à jour, tout en s’assurant des
droits accordées à ces derniers. Cela est d’autant plus utile que les données
informatiques sont de plus en plus nombreuses.
Une base de donnée peut être locale c'est-à-dire ut ilisable sur une machine par un
utilisateur ou bien repartie c'est-à-dire que les i nformations sont stockées sur des
machines distantes et accessible par réseau inform atique.
L’avantage moyen de l’utilisation de base de donnée s et la possibilité de pouvoir
accéder par plusieurs utilisateurs simultanément
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
5
2. Le système de gestion de base de données :
2.1. Définition :
Le système de gestion de base de données est l’outi l utilisé pour la manipulation et
l’exploitation des bases de données. C’est un logic iel composé d’un moteur et d’une
interface graphique, il permet de décrire, de modif ier, d’interroger et d’administrer les
données d’une base de donnée.
Le langage normalisé est le SQL (structured Query L anguage). C’est un langage
permettent d’interroger les données pour extraire u ne partie de ce données.
2.2 La gestion de base de données :
Afin de pouvoir contrôler des données ainsi que les utilisateurs, le besoin d’un
système de gestion s’est vite fait ressentir. La ge stion de la base de données se fait
grâce au SGBD, c’est un ensemble de service (applic ations logicielles) permettant de
gérer les données, c'est-à-dire :
Permettre d’accès aux données de façon simple
Autoriser un accès aux informations à des multiples utilisateurs
Manipuler les données présentes dans ka base de don née (insertion, suppression,
modification)
Le SGBD peut se décomposer en trois parties :
Le système de gestion de fichier qui permet de stoc ker les informations sur un
support physique
Le SGBD interne qui gère l’ordonnancement des infor mations
Le SGBD externe qui représente l’interface avec l’u tilisateur
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
6
Figure 1.1 : la décomposition du SGBD
2.3 Les principaux SGBD :
Les principaux SGBD sont les suivants :
Paradox
Filemaker
IBM DB2
Ingres
Interbase
Microsoft Access
Microsoft fox pro
Oracle
MySQL
Etc.
2.4 Les différentes modèles de système de gestion d e base de données (SGBD)
Les bases de données sont apparues à la fin des ann ées 60, à une époque où la
nécessité d’un système de gestion de l’information simple se faisait ressentir. Il existe
cinq modèles de SGBD, différenciés selon la représe ntation des données qu’elle
contient.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
7
2.4.1 Le modèle hiérarchique :
Les données sont classées hiérarchiquement selon un e arborescence descendante.
Ce modèle utilise des pointeurs entre les différent s enregistrements. IL s’agit du
premier modèle de SGBD.
Figure 1.2 : modèle hiérarchique
2.4.2 Le modèle réseau :
Comme le modèle hiérarchique, ce modèle utilise des pointeurs vers des
enregistrements. Toutes fois la structure n’est plu s forcement arborescent dans le
sens descendante.
Fig1.3 : le modèle réseau
2.4.3 Le modèle relationnel :
Les données sont enregistrées dans des tableaux à d eux dimensions (ligne, colonne).
La manipulation de ces données ce fait selon la thé orie des mathématiques des
relations.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
8
Figure 1.4 : le modèle relationnel
2.4.4 Le modèle objet :
Les données sont stockées sous formes d’objets, c'e st-à-dire de structure appelée
classe présentant des données membres. Les champs s ont des instances de ces
classes.
Figure 1.5 : le modèle objet
2.5 Les niveaux des données :
L’architecture ANSI/SPARC datant 1975, définit des nivéaux d’abstractions pour un
SGBD :
Niveau interne (ou physique) qui définit la façon s elon lesquelles sont stockées les
données et les méthodes pour y accéder.
Niveau conceptuel appelé aussi MCD (Modèle Conceptu el de Donnée) ou MLD (Modèle
Logique de Donnés). Il définit l’arrangement des in formations au sein de la base de
données.
Niveau externe qui définit des vues des utilisateur s.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
9
2.6 Les caractéristiques d’un SGBD
L’architecture à 3 niveaux définie par le standard ANSI/SPARC permet d’avoir une
indépendance entre les données et les traitements. D’une manière générale, un SGBD
doit avoir des caractéristiques suivantes :
Indépendance physique
Le niveau physique peut modifié indépendamment du niveau conceptuel. Cela
signifie que tous les aspects matériels de la base de données n’apparaissent pas pour
l’utilisateur, il s’agit simplement d’une structure transparente de représentation des
informations.
Indépendance logique
Le niveau conceptuel doit pouvoir être modifié sans remettre en cause le niveau
physique, c'est-à-dire que l’administration de la b ase doit pouvoir la faire évaluer sans
que cela gère les utilisateurs.
Manipulabilité
Les personnes ne connaissant pas la base de données doivent être capables de
décrire leurs requêtes sans faire référence à des é léments techniques de la base de
données.
Rapidité des accès
Le système doit pouvoir fournir les réponses à la r equête le plus rapidement possible,
cela implique des algorithmes de recherche rapide.
Administration centralisée
Le SGBD doit permettre à l’administrateur de pouvoi r manipuler les données, insérer
les éléments de façon centralisée.
Limitation de redondance
Le SGBD doit pouvoir éviter dans la mesure du possi ble des informations redondant
afin d’éviter, d’une part, un gaspillage d’espace m émoire mais aussi des erreurs.
Vérification de l’intégrité
Les données doivent être cohérentes entre elles, de plus lorsque des éléments font
références à d’autres, ces derniers doivent être pr ésent.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
10
Particularité des données
Les SGBD doivent permettre l’accès simultané à la base de donnée par plusieurs
utilisateurs.
Sécurité des données
Les SGBD doivent présenter des mécanismes permettant de gérer les droits d’accès aux
données selon l’utilisateur.
Conclusion
La notion de base de données et SGBD est indispensable pour modéliser un système
d’information mais comment concevoir une base de données?
3. Conception d’une base de données
3.1 Introduction
La conception d’une base de données nécessite un modèle avant de lui intégrer au SGBD.
Pour notre conception et modélisation, nous allons utiliser le modèle objet. Dans ce chapitre
on va suivre le concepts de l’approche objet puis le choix de langage de modélisation et
enfin la partie conception et modélisation.
3.2 Définition
Un objet est une entité aux frontières précises qui possède une identité ou un nom. Son état
est caractérisé par un ensemble d’attributs et ses comportements sont définies par un
ensemble d’opérations ou méthodes. Une autre définition de l’objet c’est qu’il est une
instance de classe.
Une classe est un type de données abstrait, caractérisée par des propriétés (attributs et
méthodes) communes à des objets et permettant de créer ces derniers possédant ces
propriétés.
Figure 2.1 : exemple de classe et d’objet
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
11
3.3. Les concepts importants de l’approche objet
3.3.1. Encapsulation
L’encapsulation consiste à masquer les détails d’implémentation d’un objet en définissant
une interface et la vue externe d’un objet, elle les services accessibles aux utilisateurs.
L’encapsulation facilite l’évolution d’une application car elle stabilise l’utilisation des objets.
En effet, on peut modifier l’implémentation des attributs d’un objet sans modifier son
interface. Elle garantit l’intégrité des données car elle permet d’interdire l’accès direct aux
attributs des objets (utilisation d’accesseurs).
3.3.2. Héritage
L’héritage est un mécanisme de transmission de propriété d’une classe vers une classe. Une
classe peut être spécialisée en d’autres classes, afin d’y ajouter des caractéristiques
spécifiques ou d’en adapter certaines. Plusieurs classes peuvent être généralisées en une
classe qui les factorise, afin de regrouper les caractéristiques communes d’un ensemble de
classe. La spécialisation et la généralisation permettent de construire des hiérarchies de
classe. L’héritage peut être simple ou multiple, il évite la duplication et encourage la
réutilisation.
Figure 2.2 : exemple de hiérarchie de classe
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
12
3.3.3. Polymorphisme
Le polymorphisme représente la faculté d’une méthode à pouvoir s’appliquer à des objets de
classes différentes. Il augmente la généricité du code.
Figure 2.3 : exemple de polymorphisme
3.3.4. Agrégation
Il s’agit d’une relation entre deux classes, spécifient que les objets d’une classe sont des
composantes de l’autre. Une relation d’agrégation permet donc de définir des objets
composés d’autres objets. Elle permet d’assembler des objets de base, afin de construire
des objets plus complexes.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
13
Figure 2.4: exemple d’agrégation
3.4. L’évolution de l’approche Objet
3.4.1. Les concepts Objets sont stables et éprouvés
Simula, premier langage de programmation à implémenter le concept de type abstrait (à
l’aide classe), daté en 1967. En 1976 déjà, Small talk
Implémente, les concepts fondateurs de l’approche objet (encapsulation, agrégation,
héritage) à l’aide de :
Classe :
Association entre classes
Hiérarchies des classes
Messages entre objets
Le premier compilateur C++ date 1980, et C++ est normalisé par l’ANSI [6]. De nombreux
langage orienté objet académique ont étagés des concepts objets, EIFFEL, Objective C,
Loops…
Les concepts objets sont anciens, mais ils n’ont jamais été autant d’actualité.
L’approche fonctionnelle n’est pas adaptée au développement d’applications qui évoluent
sans cesse et dont la complexité croit continuellement. L’approche objet a été inventée pour
la faciliter l’évolution d’applications complexes.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
14
3.4.2. Les avantages de l’approche objet
L’approche objet est un ensemble de concepts stables éprouvées et normalisées. C’est une
solution destinée à faciliter l’évolution d’application complexe.
3.4.3. Les inconvénients de l’approche objet
Malgré des apparences, il est plus naturel pour nos aspects cartésiens, de décomposer en
problèmes informatiques sous formes d’une hiérarchie de fonction atomique et de donnée,
qu’en terme d’objet et d’interaction entre ces objets. De plus, les vocabulaires précis est un
facteur d’échec important dans la mise en ouvre d’une approche objet. L’approche objet un
moins Intuitive que l’approche fonctionnelle donc il faut trouver d’un moyen pour faciliter
l’analyse objet, il faut chercher les critères qui identifient une conception objet pertinente et
enfin un moyen pour comparer deux solutions de découpe objet d’un système.
L’application de concept objet nécessite une grande rigueur car le vocabulaire est précis
donc, il y a un risque d’ambiguïté et d’incompréhension. Il est aussi difficile de décrire la
structure objet d’un système de manière pertinente.
3.4.4. Les remèdes aux inconvénient de l’approche o bjet
Pour remédier à ces défauts de l’approche objet, il nous faut en premier lieu, un langage
pour exprimer le concept objet qu’on utilise afin de :
Pouvoir représenter de concept abstrait (graphiquement par exemple)
Limiter les ambiguïtés
Faciliter l’analyse
En second lieu il nous faut une démarche d’analyse et de conception objet pour :
Ne pas effectuer une analyse fonctionnelle et se contenter d’une implémentation objet, mais
penser objet du départ.
Définir les vues qui permettent de couvrir tous les aspects d’un système, avec des concepts
objets.
Bref, il nous faut un outil, qui apporte une dimension méthodologique à l’approche objet, afin
de mieux maîtriser sa richesse et sa complexité
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
15
3.5. Choix du langage de modélisation
3.5.1. Vues globales sur les méthodes d’analyses
Les premières méthodes d’analyse sont apparues aux années 1970. A cette époque, on
avait appliqué la découpe cartésienne (fonctionnelle et hiérarchie) d’un système.
Dans les années 1980 on a adopté l’approche systématique où on a utilisé la modélisation
des données et la modélisation des traitements (Merise, Axiale, IE…)
L’émergence des méthodes objets n’est apparue qu’entre les années 1990 et 1995. Ceci est
dû à la prise de conscience de l’importance d’une méthode spécifiquement objet. On veut
structurer un système sans centrer l’analyse uniquement sur les données ou uniquement sur
les traitements mais sur les deux. Plus de cinquante (50) méthodes objets sont apparues
durant cette période (Booch, Classe-rélation, Fusion, HOOD, OMT, OOD, OOM, OOSE,…)
mais aucun méthode ne s’est réellement s’imposée.
a. Les premiers consensus
A cette époque les trois méthodes constituantes UML sont encore indépendantes. L’OMT de
James Rumbaugh [6] quoi permet d’avoir des vues statiques, dynamiques et fonctionnelles
d’un système et qui caractérisé par sa notation graphique riche et lisible.
La deuxième méthode est de OOD de Grady BOOCH qui permet d’avoir les vues logiques et
physiques du système, cette méthode introduit le concept de package qui est un élément
d’organisation des modèles.
Et enfin la troisième et la dernière méthode sont OOSE d’Ivar Jacobson qui est une méthode
issue d’un centre de développement d’Ericsson en Suède et qui couvre tout le cycle de
développement dont la méthodologie repose sur l’analyse des besoins des utilisateurs.
b. L’unification et la normalisation des méthodes ( 1995-1997)
A cette époque UML (Unified Modeling Langage ou langage de modélisation unifiée) est
née. Elle est le fruit de la fusion et synthèse des méthodes dominantes.
Figure 3.1 : schéma d’évolution d’UML
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
16
3.5.2. Choix du langage de modélisation
Notre choix porte sur UML grâce aux raisons suivantes :
UML est aujourd’hui un standard incontournable.
En effet :
UML est le résultat d’un large consensus industriels, méthodologies.
UML est riche car il couvre toutes les phrases d’un cycle de développement.
UML est issu du terrain.
UML est ouvert car il est indépendant du domaine d’application et des langages
d’implémentation.
Après l’unification et la standardisation, bientôt l’industrialisation d’UML, les outils qui
supportent UML se multiplient (GD Pro, Object, Team, Objectering, Open Tool, Rational
Rose, Rhapsody, STP, Visio, Visual Modeler, Withclass…)
UML évolue mais reste stable :
L’OMG RFT composé de nombreux acteurs industriels centralise et normalise les
évolutions d’ULM au niveau international.
Les groupes d’utilisateurs d’ULM favorisent le partage des expériences.
De version en version, UML gagne en maturité et précision, tout en restant stable.
UML inclus des mécanismes standard d’auto extension.
La description du méta modèle d’UML est standardisée (OMG-MOF).
UML cadre l’analyse objet.
UML offre différentes vues complémentaires d’un système, qui guide l’utilisation des
concepts objets. Il possède plusieurs niveaux d’abstraction, qui permettent de mieux
contrôler la complexité dans l’expression des solutions objets.
UML est un support de communication.
En effet, sa notation graphique permet d’expérimenter usuellement une solution objet.
L’aspect formel de sa notation limite les ambiguïtés et les incompréhensions. Son
indépendance en fait un langage universel.
Les points forts d’ULM.
UML est un langage formel est normalisé, il permet d’avoir un gain de précision et un gage
de stabilité. Il encourage l’utilisation d’outils.
UML est un support de communication performant, en effet, il cadre l’analyse, facilité la
compréhension de représentations abstraites complexes. Son caractère polyvalent et sa
souplesse en fait un langage universel.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
17
Le point faible d’ULM.
La mise en pratique d’ULM nécessite un apprentissage et passe par un période
d’adaptation.
3.6. Conception et modélisation
3.6.1. Présentation de UML
UML (Unified Modeling Language ou langage unifié de modélisation) est aujourd’hui le
langage standard utilisé en informatique pour la modélisation orientée objets. UML est utilisé
dans les deux environnements suivants: le développement d'application et la gestion
d’architectures informatiques.
3.6.2. Modélisation avec UML
Les diagrammes UML permettent de communiquer l’architecture d’un système aux
concepteurs,
Développeurs et à toutes les personnes externes à l’aspect technique d’un système. Cette
communication prend une forme visuelle et narrative dans :
Le document des exigences fonctionnelles qui regroupe les diagrammes de cas d’utilisation
avec leur description narrative, les diagrammes d’objets, les diagrammes d’interaction et les
diagrammes d’activité.
Le document d’architecture technique qui regroupe les diagrammes de classes, les
diagrammes de package, les diagrammes de composants, les diagrammes de déploiement
et les diagrammes d’état.
Il existe neuf types de diagrammes classés en trois catégories :
Diagramme de cas d’utilisation
Diagramme de classe
Diagramme de package
Diagramme de séquence
Diagramme de collaboration
Diagramme d’état
Diagramme d’activité
Diagramme de composants
Diagramme de déploiement
Les diagrammes seuls sont insuffisants et doivent toujours être accompagnés de notes ou
de descriptions narrative.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
18
a. Diagramme de cas d’utilisation
Les diagrammes de cas d’utilisation sont des vues statiques qui montrent une série de cas
d’utilisation d’un système. Ces cas d’utilisation mettent en oeuvre les acteurs du système
dans leurs relations. Ce diagramme permet d’organiser et de modéliser les comportements
du système.
Les éléments de base des diagrammes de cas d’utilisation sont :
Acteurs : entité externe qui agit sur le système (opérateurs, autres systèmes, …). Il peut
consulter ou modifier l’état du système et à la réponse à l’action d’un auteur, le système
fournit un service qui correspond à son besoin.
Uses cases : ensemble d’action réalisée par le système en réponse à une action d’un acteur.
Ils peuvent être structurés et organisés en paquetages (package). Les paquetages sont des
éléments d’organisation des modèles. Ils regroupent des éléments de modélisation selon
des critères purement logiques.
L’ensemble des uses cases décrit les objectifs (but) du système.
Fig. 4.1: Cas d’utilisation
b. Diagramme de classes
Définition d’une classe
Une classe est un type abstrait caractérisée par des propriétés (attribut et méthode)
commune à un ensemble d’objet et permettant de créer des objets avant ses propriétés.
Classe = attributs + méthodes + instanciation.
Le diagramme de classes est une vue statique des processus du système ou de la
modélisation orientée objet d’un système. Ce diagramme montre une série de classes, de
collaborations et leurs relations. C’est un diagramme très riche.
On peut par exemple se focaliser sur :
Les classes qui participent à des cas d’utilisation,
Les classes associées dans la réalisation d »un scénario précis,
Les classes qui composent les paquetages.
Pour permettre un contexte précis, un diagramme peut être associé au diagramme d’objet.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
19
Fig.4.2. diagramme de classe
c. Diagramme de packages
Le diagramme de packages donne une vue statique du système, mais cette fois, en terme
de groupes ou de catégories.
Fig. 4.3. Diagramme de packages
d. Diagramme de séquence
Ce diagramme est une vue dynamique du système qui met en évidence les interactions
entre les objets et leurs messages. Pour un cas d’utilisation donnée du système, on fait
apparaître l’ordre temporel des messages.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
20
Fig. 4.4. Diagramme de séquence
e. Diagramme de collaboration
Cette vue dynamique du système laisse apparaître l’organisation des objets qui envoient et
reçoivent des messages pour un cas d’utilisation spécifique.
Fig. 4.5. Diagramme de collaboration
f. Diagramme d’état
Cette vue dynamique du système montre l’état d’un objet en termes d’états, de transitions,
d’événements et d’activités. Ce diagramme permet de modéliser le comportement d’une
interface.
Fig. 4.6. Diagramme d’état
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
21
g. Diagramme d’activités
Cette vue dynamique du système montre les flux entre les activités du système. Ce
diagramme permet de modéliser les fonctions du système en insistant sur les flux entre les
objets.
Fig. 4.7. Diagramme d’activité
h. Diagramme de composants
Cette vue statique du système montre la mise en oeuvre du système. Ce diagramme montre
l’organisation et les dépendances d’une série de composants. Il permet d’avoir une
cartographie des classes, des interfaces ou des collaborations contenues dans les
diagrammes de classes.
Fig. 4.8. Diagramme de composant
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
22
i. Diagramme de déploiement
Cette vue statique du déploiement d’une architecture met en évidence la configuration du
traitement des noeuds d’exécution. Ce diagramme permet d’organiser les composants dans
leur spectre d’exécution.
Fig. 4.9 Diagramme de déploiement
3.6.3. Démarche de modélisation de la scolarité
Pour commencer, on modélise au moyen des diagrammes de cas d’utilisations UML, les
demandes de cahier des charges (besoins utilisateurs).
Pour essayer d’arriver à obtenir le code correspondant
Fig. 5.1. Besoins dans le cas d’utilisation
On part du but, c'est-à-dire le code qu’on veut obtenir, et on remonte en arrière, pour mieux
expliquer le moyen qui va permettre de joindre les « deux bouts ».
Dans le cadre de système orienté objet, la structure du code est définie par les classes
logiciels et leurs regroupements en ensembles appelés « packages ».
On a donc besoin de diagrammes représentants les classes et montrant les données
qu’elles contiennent (attributs), les services qu’elles rendent (opération) ainsi que leurs
relations.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
23
UML propose les diagrammes de classes pour véhiculer toutes ces informations. La figure
ci-dessous montre cette étape préliminaire du codage.
Fig.5.2. Diagramme de classe de conception (structure de code)
Les diagrammes de classes de conception représentent la structure statique du code par les
biais des attributs et des relations entre classes, mais il contiennent également les
opérations (aussi appelés méthodes) qui décrivent les responsabilités (propriétés)
dynamique des classes logicielles.
La fig19 ajoute une étape du côté du code, mais on ne sait pas encore comment relier tout
cela aux diagrammes de cas d’utilisation.
Pour passer les diagrammes de cas d’utilisation aux diagrammes de conception, il faut au
moins une étape intermédiaire, car les diagrammes de cas d’utilisation sont aux niveaux
d’abstraction du cahier des charges alors que les diagrammes de conceptions placent au
niveau du code.
Chaque cas d’utilisation est décrit textuellement de façon détaillée mais donne également
lieu à des diagrammes de séquence représentant graphiquement la séquence des
interactions entre les acteurs et le système appelé diagrammes de séquence système.
L’attribution des bonnes responsabilités aux bonnes classes est l’un des problèmes le plus
délicat de la conception orientée objet, pour chaque service ou fonction, il faut décider quelle
est la classe qui va le (la) convenir.
Les diagrammes de séquences UML sont utiles pour représenter graphiquement ces
décisions d’allocation de responsabilités.
Chaque diagramme de séquence va représenter un ensemble d’objet de classes différentes
collaborant dans le cadre d’un scénario d’exécution du système.
Dans ce genre de diagramme, les objets communiquent en s’envoyant des messages qui
invoquent des opérations sur les objets récepteurs.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
24
On peut donc suivre visuellement les interactions dynamiques entre objets, et les
traitements réalisés par chacun. Les diagrammes de séquence aident également à écrire le
code à l’intérieur des opérations, en particulier les appels d’opérations
Fig. 5.3 Diagramme d’interaction aide à attribuer les responsabilités aux classes
Pour que le tableau soit complet, il reste à détailler une exploitation supplémentaire de cahier
de charges. Elle va permettre de réaliser les diagrammes dynamiques, représentant de
manière formelle l’ensemble des chemins possibles entre les principaux pages proposées
aux utilisateurs.
Ces diagrammes, qui mettent en jeu les classes participantes s’appellent diagramme
d’activité de navigation. Ces diagrammes ont un impact sur les diagrammes de classes de
conception.
Fig. 5.4. Schéma complet de processus de modélisation d’un site
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
25
a. Les diagrammes de cas d’utilisation
En partant du cahier de charges, on peut avoir les diagrammes de cas d’utilisation
Fig. 6.1 : vue de haut niveau de l’application
Le schéma ci-dessous montre le paquetage des diagrammes de cas d’utilisation. Nous
allons en détaillé chaque blocs distincts suivants le mode d’accès. Le premier mode est
l’accès en tant que visiteur, c'est-à-dire accès à des informations mises en lignes (accès
libre). Le second mode est pour les concepteurs et administrateur ; accès en tant que
concepteur (accès protéger).
Pour le premier mode d’accès, on a le paquetage du diagramme d’utilisation suivant :
Fig. 6.2. Paquetage de Diagramme de cas d’utilisation accès visiteurs
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
26
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
27
Fig 6.8: Diagramme de cas d’utilisation des tach es de secrétaire de direction
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
28
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
29
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
30
Fig. 6.11 : Diagramme de séquence du secrétaire principale
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
31
Fig 6.12 : Diagramme de séquence du secrétaire de direction
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
32
Fig 6.15
Fig 6.13
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
33
Fig 6.16
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
34
Secrétaire principale Secrétaire de direction
Inscription Carte
Bibliothèque
Carte
d’étudiant
Saisie
Note
Relevé
Note Attestation
Ajout sujet
projet
Formulaire
d’inscription
FORMULAIR
E CARTE
Formulaire
Carte étudiant
Formulaire CHOIX
Affichage
liste
Formulaire saisie Note Formulaire relevé Note
Affichage
Ajout sujet
mémoire
Fig 6.17 : Diagramme d’activité de navigation de la
scolarité
Choix d’action à faire
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
35
b. Les différentes classes dans la conception
Nous avons quatre catégories de classes; la classe Secrétaire, la classe Inscription, la
classe Utilisateur et la classe Enseignant qui sont héritées de la classe principale
Scolaenset.
Les méthodes utilisées de ces classes sont héritées de celles de la classe principale
Scolaenset et au moment de l’implémentation il y a le phénomène de l’encapsulation.
Fig. 6.18 : Relation entre les classes
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
36
Fig 6.19: Héritage de la classe inscription
Remarque : Les classes Génie Electrique, Génie Mécanique et Génie Math&info héritent
chacun quatre sous classes 2ème année, 3ème année, 4ème année et 5ème année
caractérisées par ces matières spécifiques.
Fig 6.20 : Héritage de la classe filière
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
37
PARTIE 2 : REALISATION
Introduction
Nous allons voir maintenant la partie réalisation. Tout d’abord nous expose notre rapport de
travail, ensuite les outils nécessaires pour la réalisation, enfin nous allons présenter le
logiciel conçu et les guides nécessaires pour sa prise en main.
1. Rapport sur l’étape du travail
L’étape du travail se divise en quatre phases résumées dans le tableau suivant :
Phases Période Travail à faire
Première phase 2 au 9 juillet Collection de l’information
Deuxième phase 10 au 17 juillet Analyse de l’existant et
proposition de solution
Troisième phase 18 juillet au 2 Août Conception et modélisation
Quatrième phase 3 Août au 9 Octobre Création du site
Fig 7.1 : Tableau résumant l’étape du travail
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
38
2. Les outils nécessaires pour la réalisation
2.1 Architecture du site
L’arborescence représente l’architecture du site est la première étape dans le travail
d’élaboration. C’est elle qui va définir les rubriques et l’enchaînement logique de ces
rubriques entre elles. Une bonne arborescence doit permettre de visualiser les thèmes
principaux, les sous thèmes et les liens existants entre ces différents contenus.
La page d’accueil constitue l’élément central du site. Elle représente la porte d’entrée et doit
être claire, très visuelle, tout en permettant l’accès aux principales rubriques. Chaque
concepteur de site doit commencer son travail par la réalisation de l’arborescence, qui
constitue son plan de travail et qui peut revêtir différentes formes.
Voici l’arborescence de notre site :
Fig 7.2: Arborescence représentant l’architecture du site
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
39
2.2 Choix du langage de programmation
Introduction
Le choix du langage de programmation est l’un des facteurs les plus importants pour la
nécessitée de la réalisation d’un logiciel. En effet, chaque langage a ses propres
caractéristiques et ces caractéristiques doivent être compatibles avec les contraintes et
conditions exigées par le cahier des charges. Le choix doit être fait en fonction de leur
souplesse, leur adaptation aux fonctions exigées et aux ressources matérielles disponibles.
2.2.1 Le langage PHP
Notion
Le PHP ou Hypertext Preprocessor est un langage de script HTML ? Qui fonctionne côté
serveur. A la différence avec les autres scripts CGI dans l’autres langages tels que Perl ou
C, au lieu d’écrire en programme avec de nombreuses lignes de commandes afin d’afficher
une page HTML, Vous écrivez une page HTML avec du code inclus à l’intérieur afin de
réaliser une action précise. Ce qui distingue le PHP des langages script comme Java script
est que le code est exécuté sur le serveur, le client ne reçoit que le résultat du script, sous
aucun moyen, d’avoir accès au code qui a produit ce résultat. Vous pouvez configurer votre
serveur WEB afin qu’il analyse tous vos fichiers HTML, comme de fichiers PHP. Ainsi, il n’y a
aucun moyen de distinguer les pages qui sont produits dynamiquement des pages statiques.
Fonctionnalité
Le langage PHP possède les mêmes fonctionnalités que les autres langages permettant
d’écrire des scripts CGI, comme collecter de données, générer dynamiquement des pages
Web ou bien envoyer et recevoir des cookies. La plus grande qualité et le plus important
avantage du langage PHP est le support d’un grand nombre de bases de données.
Sécurité
PHP est un langage puissant et l’interpréter, qu’il soit inclus de le serveur Web ou bien
compilé en version CGI,est capable d’accéder aux fichiers d’exécuter des commandes et
d’ouvrier des connexions réseaux. Tous ces produits rendent fragile de sécurité d’un serveur
web. Le langage PHP a été pense afin d’être un langage beaucoup plus sécurisée pour
écrire des CGI qu e le Perl ou le langage C. de plus une sélection rigoureuse des options de
compilation et d’exécution vous permettre d’obtenir un équilibre parfait entre liberté et
sécurité. Etant donné qu’il y a de nombreux moyens d’utiliser le langage PHP, il y a des
nombreuses directives de configuration afin d’incontrôlé le comportement. Un grand nombre
d’option permettent d’utiliser PHP dans de nombreuses situations, mais cela signifie aussi
qu’il y a certaines combinaisons d’option de compilation et d’exécution qui fragilise la
sécurité du serveur. La flexibilité du code PHP est épaulée par la flexibilité de code. PHP peu
être compilé pour constituer une application serveur complètes avec toutes les
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
40
fonctionnalités d’un SHELL, où il peut encore être utilisé comme simple SSI (Server Side
Include) avec peu de risque donnes un environnement à sécurité renforcé comment créer
cet environnement sécurisé est largement à la charge du développeur PHP.
d) Module apache
Lorsque le PHP est compilé en tant que module Apache, ce module hérite des permissions
accordées à l’utilisateur faisant donner Apache (par défaut, l’utilisateur « nobody »). Par
exemple, si on utilise PHP pour accorder à une base de donnée à moins que il n’ait un
système de droits d’accès interne, on devra rendre la base accessible à l’utilisateur
« nobody ». Cela signifie qu’un script malintentionné peut accéder à la base de donnée, la
modifie sans authentification. Il est aussi possible qu’un robot accéder à la base
d’administration et détruise toutes les pages. On doit ainsi protéger les bases de données
avec les autorisations Apache, ou définir son propre modèle d’accès avec LDAP,
NTACCES,… etc. et Include ce code tous ses scripts PHP.
2.2.2 Mysql
Un des grands avantages de PHP, est sans aucun doute d’accès facile à différentes bases
de données. Celles que ORACLES, SYBASE, POSTGRE SQL ou MYSQL.
MYSQUEL est un système de gestion et conception de base de données. Il est libre est
gratuit, Mysql est facile à installer, il s’accompagne de nombreuse produits permettant sa
gestion, tels que PHP Myadmin, un driver MyODC implémenté par défaut dans PHP. Il est
un véritable serveur da base de données, et qui fonctionnent selon un architecture
client/serveur.
Fig 7.3
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
41
Mysqld : est le serveur de Mysql, il est le seul à accéder aux fichiers stockant les données
pour lire et écrire des informations.
Mysql dump : permet d’effectuer des sauvegardes
Mysql import : permet d’importer des fichiers ASCII dans un BDD.
2.3 Mode de transmission de données
Comme nous allons réaliser un portail web dynamique, alors nous utilisons le model
client/serveur pour la transmission de données.
Le protocole Client serveur
Introduction est un modèle d’échange client-serveur. Il utilise le protocole http (Hyper texte
transfer protocol)
Il est basé sur le même modèle que FTP (file transfère protocole), il existe cependant un
différent importante : il n’y a pas de connexion durables entre le client et le serveur. Alors
que pour Telnet ou FTP il y a ouverture d’une connexion (généralement avec identification
de login et de mots de passe), avec le www il n’y a que des échanges de messages en
mode non-connecté. C'est-à-dire que l’application serveur n’a aucune mémoire de ce qui
vient d’être dit.
Nous verrons par la suite les problèmes que cela implique.
Le serveur : est un (on l’appelle démon httpd) qui écoute sur un port de machine particulier
(le port 80 par défaut) les requêtes provenant de programmes clients peuvent aller de la
simple demande de transfert d’une ressource (une page HTML, fichier postscript,…) jusqu’à
l’exécution d’un programme sur la machine serveur (Programmation CGI).
Le client : est un programme qui permet à utilisateur de formuler des requête via la réseaux,
et d’en visualiser le résultat. Un bon logiciel client tel que Netscape, Internet exploreur5,
permet de rendre le type de serveur transparent. En effet, avec un tel logiciel, il possible
d’intelliger un protocole de type FTP pour le transfère d’un document,si lui-ci se trouve sur un
serveur FTP.
Plus clairement, un dialogue simple entre le client et le serveur :
Le client effectue une connexion TCP sur le port http du serveur cible :
Le serveur accepte (ou refuse) la connexion.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
42
Le client émet sa requête sous forme d’une ligne de texte terminée par les caractères CR et
LF. La requête comprend la méthode souhaitée suivie de l’ULM Uniforme Ressource Locator
du document demandé.
Le serveur expédie le document demandé (souvent un fichier HTML)
Le serveur couple la connexion, ce qui correspond à la fin du document demandé
Tout ceci enfin d’éviter une situation tendue
2.4 Les logiciels utilisés
Ainsi, d’après ce qu’on a ou à propos de ces différentes langages de programmation, notre
choix s’est basé sur leurs caractéristiques et sur les ressources logicielles à notre
disposition. A savoir l’Easy PHP, le dreameaver MX, et le Namoweb editor. Pour la
réalisation de notre logiciel alors, nous allons utiliser PHP, le SQL et le XHTML qui n’est
autre que la fusion du HTML et le XML.
2.5 Implémentation
Maintenant, nous allons voir les principes utilisés pour la réalisation pratique de notre
logiciel. Ainsi, dans cette partie on va présenter les différents organigrammes de bases.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
43
2.5.1 Ouverture de session
Pour accéder à un compte qu’il soit administrateur ou simple utilisateur, faut saisir d’abord
un login et son mot de passe. Ces caractères saisis pris en compte par le programme. Ce
dernier exécute alors une requête dans la table « users » où se trouve les paramètres des
utilisateurs. Si les caractères saisis correspondent à ces paramètres la session est ouverte,
par contre il y envoie de message d’erreur et on doit saisir le nouveau. La figure suivant alors
représente alors l’organigramme qui réalise cette fonction.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
44
Fig7.3: Organigramme représentant l’ouverture de la session
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
45
2.5.2 L’insertion des données
En PHP, on ne peut se contenter d’écrire des requêtes, il faut d’abord se connecter au
serveur de base de donnée, puis exécuter la requête.
Pour interagir avec les serveurs, il faut un formulaire des saisies (saisie.xml) puis un autre
insertion (insérer.php). La figure ci-dessous représente l’organigramme qui réalise l’insertion
des données.
Fig7.4: Organigramme représentant l’affichage
2.5.3 L’affichage des résultats
Il existe plusieurs méthodes pour réaliser l’affichage des résultats de la requête. En
programmation, si le nombre d’exécution d’une boucle est connu à l’avance, il est plus
judicieux d’employer la boucle prévue à cet effet, en occurrence la boucle « FOR », ce qui
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
46
est compliqué. Nous allons utiliser alors la boucle « While », puis on va utiliser une table
indicée par le nom du champ de la table utilisé. Cette fonction est représentée par
l’organigramme ci –dessous :
Fig7.5 : Organigramme représentant l’affichage
2.5.4 Modification des données
Pour modifier des données, il faut faire d’abord les listes des ces derniers (modif.php) avec
un liens vers les formulaires des modifications (modif_register.php), ayant lui-même pour
actionner d’envoyer les données vers la page de la modification (affiche.php).
L’organigramme ci-dessous représente respectivement qui réalise la liste des données et
celui de la modification.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
47
Fig7.6: Organigramme qui réalise la liste de données à modifier
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
48
Fig7.6: Organigramme qui réalise la modification
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
49
Fig7.7 : Organigramme réalise la modification
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
50
2.5.5 Suppression des données
Voici un moyen de supprimer un enregistrement faire les listes des données
(suppr_register.php), y ajouter un lien vers la page des suppressions. L’organigramme du
programme réalisant les listes des données à supprimer similaire à celui qui réalise les listes
de ce qu’on va modifier voir (fig. ). L’organigramme ci-dessous représente la fonction qui
réalise la suppression des données.
Fig. 7.8: Organigramme réalise la suppression de données
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
51
3. Présentation des pages conçues
Cette partie définie les pages web trouvées dans le site et leurs requêtes SQL de
transmission de données. Nous rappelons que nous avons utilisé le logiciel EasyPHP qui
comprend le serveur web Apache et le serveur de base de données MySQL, le langage
PHP pour l’écriture des programmes. Le code PHP est transcrit en langage HTML puis
envoyer au navigateur grâce au serveur Apache pour l’affichage du page.
3.1 La page d’accueil
La page d’accueil est la porte du site, elle comprend les rubriques suivantes
Présentation
Scolarité
Etudiants
Annuaire Enseignants
Annuaire Etudiants
Forum
Dans l’architecture du site, la page d’accueil est repérée par le fichier « index.php »
Voici la page d’accueil :
Fig8.1 : Page d’accueil
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
52
3.2 Page de la scolarité
La page du service de la scolarité comprend l’accès des responsables, cette page est
protégée par un mot de passe. Il y a deux types de responsables, le responsable du
secrétariat principal et le responsable du secrétariat de direction.
Remarque : un étudiant inscrit peut se trouver dans la recherche sur le renseignement
étudiants et l’annuaire
La page de la scolarité est repérée dans le fichier « ident_scola.php ».
Voici la page de la scolarité :
Fig8.2: Page du service de la scolarité
3.2.1 Page du secrétariat principale
Cette page présente les tâches dans le secrétariat principale, elle comprend
Les rubriques suivantes :
Inscription : bouton à cliquer pour trouver le formulaire des inscriptions des étudiants
Dossier administratif : bouton à cliquer pour trouver le formulaire pour les dépôts du dossier.
Carte d’étudiant : (en cours de production)
Carte bibliothèque : (en cours de production)
Certificat de scolarité : (en cours de production)
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
53
Voici la page du secrétariat principale :
Fig8.3 : Page du secrétariat principale
Fig8.4 : Page comprenant le formulaire d’inscription
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
54
Si le formulaire sera remplie, cliquons sur envoyer pour stocker les données dans la base de
données.
La requête SQL de sélection et l’insertion des données dans la table « inscription_tc » se
trouve dans le fichier « utils.php » le programme principal qui gère cette page en appelant
ces fonctions correspondants.
$req2="select * from inscription_tc where id_insc_tc=$iday";
$result4="INSERT INTO `inscription_tc` ( `id_insc_tc` , `annee_sco`, `nom`,
`prenom`, `jour`, `mois`, `annee`, `lieu_de_naiss`,`filiere` , `annee_etude`, `num_etud`,
`num_quit`,`Adresse`,`Tel`,`Mail` )
VALUES ('','$annee_sco' ,'$nom', '$prenom', '$jour', '$mois', '$annee','$lieu_de_naiss',
'$filiere', '$annee_etude', '$num_etud', '$num_quit','$Adresse','$Tel','$Mail')";
Voir intégralement les codes dans l’annexe [II-1.7]
3.2.2 Page du secrétariat de direction
Cette page représente les tâches dans le secrétariat de direction, elle comprend
Les rubriques suivantes :
Saisie de notes : bouton à cliquer pour trouver le choix du formulaire des notes à remplir.
Relevé des notes : bouton à cliquer pour trouver le choix des relevés de notes.
Carte d’étudiant : (en cours de production)
Carte bibliothèque : (en cours de production)
Certificat de scolarité : (en cours de production)
Voici la page du secrétariat de direction
Fig8.5: Page du secrétariat de la direction
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
55
Page comprenant le choix pour la saisie de notes :
Fig 8.6: Page pour le choix de la saisie de notes
Maintenant les choix de la filière et l’année d’étude de notes à saisir ont été effectué, on peut
trouver la page qui contient la liste des étudiants de cette filière et classe et le formulaire de
saisie de notes.
La requête SQL de sélection de la table « inscription_tc » pour avoir la liste et le formulaire
de saisie de notes de la classe 2ème année en Genie Mécanique.
$req="SELECT nom, prenom FROM inscription_tc WHERE annee_etude='2ème année' and
filiere='Genie Mécanique'";
Voir intégralement les codes dans l’annexes [II-2.1]
Voici la page pour l’insertion de notes de la classe de 2ème année Genie Mécanique :
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
56
Fig 8.6: Page pour la saisie de notes
Après la saisie de notes, le responsable peut consulter le relevé de notes correspondant,
voici la page comprenant le choix pour le relevé de notes :
Fig8.7: Page pour le choix du relevé de notes à consulter
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
57
Après le choix de la filière et l’année d’étude que on passera dans le formulaire de
Saisie de nom et prénoms des étudiants dont on veut trouver les notes.
Fig8.8: Page affichant la liste des étudiants 2ème année Genie Mécanique et le formulaire
de saisie de nom et prénoms.
Voici la requête SQL de sélection de la table note dont on veut trouver :
$req="SELECT * FROM note_gm2 WHERE nom='$nom' and prenom='$prenom'";
Remarque : note_gm2 est la table de notes de la classe 2ème année Génie Mécanique
Voir intégralement les codes dans l’annexe [II - 2.4]
Fig8.9 : Page affichant le relevé de notes à consulter
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
58
3.3 Page pour étudiants
En cliquant sur la rubrique « Etudiants » dans la page d’accueil, nous voyons la page qui
contient la liste des étudiants à renseigner.
Fig 8.10: Page pour la liste de tous les étudiants
En cliquant sur détails dans la même ligne d’un nom à renseigner, nous voyons le
renseignement concernant ce nom.
Voici la requête SQL de sélection de la table « renseignement » pour donner le
renseignement sur un nom cliqué :
$req2="select * from renseignement where id=$iday";
Voir intégralement les codes dans l’annexe [II-3.3]
3.4 Page pour l’annuaire Etudiants
Autre que les menus principales on trouve les rubriques « Affiche la liste de tous les
étudiants » pour trouver la liste des étudiants et aussi la recherche alphabétique qui sert à
trouver les noms alphabétiquement.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
59
Fig 8.11 : page pour annuaire étudiants
En cliquant sur « A » nous voyons la liste des noms commençant par « A »
Fig8.12 : page affichant la liste des noms commençant par « A »
Puis nous pouvons savoir le renseignement à propos d’un nom dans cette liste
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
60
Fig 8.13 : page affichant le renseignement à propos de « Andrianarivelo Lovatiana »
Fig8.14 : page du forum
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
61
Il y a trois choix possible. On peut consulter des messages sans avoir à s’identifier. Mais
avec cette option, on ne peut pas répondre directement à un message car pour pouvoir
répondre et participé au forum, il faut être membre et identifié.
En cliquant sur « s’identifier » une page d’identification s’affiche. Une fois identifié,
l’utilisateur peut créer un nouveau sujet ou répondre à un sujet. la figure ci-dessous montre
cette page.
Fig 8.15 : page affichant les choix possibles une fois identifié
Pour poster un nouveau sujet, il suffit de cliquer sur « Nouveau sujet » et une page d’édition
correspondant à cette tâche s’affiche l’écran. Idem pour le cas où l’utilisateur veut répond à
un message, on clique sur « répondre à un message ».
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
62
PARTIE 3 : IMPLICATION PEDAGOGIQUE APPORTEE PAR CE TRAVAIL
Cette partie invoque les réflexions pédagogiques sur ce travail. Citons quelques approches
pédagogiques :
Premièrement : Familiariser les apprenants (étudiants) à consulter un site web
Cela concerne les nouveaux étudiants mais aussi les lycéens. Nous abordons par une
séance des travaux pratiques.
Voici le sujet des travaux pratiques proposé :
Objectif : familiariser les apprenants (étudiants) à consulter un site web
Durée : 2heures
Pré requis : Lecture d’un livre ou d’un revue
Travaux demandés : - Lire les rubriques trouvés dans l’accueil
- Cliquez une à une pour trouver les pages correspondantes
- Conclure la définition d’un site web ?
Deuxièmement : Donner aux étudiants le concept de modélisation.
Cela concerne les étudiants en 4ème année
Déroulement du cours :
Présentation de la méthode MERISE
Exemple d’application
La méthode MERISE :
Présentation :
MERISE est une méthode d’analyse élaboré en France en 1978 et conçue conjointement
par les industrielles et l’Universitaire qui permet notamment de concevoir un système
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
63
d’information d’une façon standardisé et méthodique. La méthode MERISE propose une
démarche pour définir n système d’information. Cette démarche amène l’analyste à
concevoir un modèle représentatif du SI actuel et futur.
Les modèles MERISE propose par niveaux modèles suivants :
Niveau de
modélisation
choix préoccupation Modèles
des années
Modèles des
traitements
Conceptuelle Gestion Quoi ? MCD MCT
Logique Organisation Que fait ?
Quoi, où ?
Quand, comment ?
MLD
MOT
Physique Techniques Avec quel moyen ? MPD MOpT
Rôle :
Les modèles servent à répondre aux questions suivantes :
Données
Traitements
MCD : quelles données et quels liens entre
les données
MCT : quels traitements ?
MLD : Comment organiser le stockage des
données ?
MOT : Comment organiser les traitements ?
MPD : Comment stocker effectivement les
données ?
MOpT : Comment réaliser les traitements ?
SGBD
Prog1 Prog2 Prog3
BD Données
Traitement
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
64
Modèle conceptuel de données (MCD) :
Le modèle de conceptuelle des données (MCD) a pour but d’écrire de façon formelle les
données qui seront utilisées par le système d’information. Il s’agit donc d’une représentation
des données, il s’agit donc d’une représentation des données, facilement compréhensible,
permettant de décrire le système d’information à l’aide d’entités.
Modèle logique de données (MLD) :
Le modèle logique des données consiste à décrire la structure de données utilisée sans faire
référence à un langage de programmation. Il s’agit donc de préciser le type de données
utilisées lors de traitements.
Modèle physique de données (MPD) :
Le modèle physique de données est une implémentation particulière d’une MLD pour une
matérielle, un environnement est un logiciel donné. Notement, le modèle physique de
données s’intéresse au stockage de données à travers le type et la taille des attributs du
MCD. Cela permet de prévoir la place nécessaire à chaque table dans le cas d’un SGBD.
Passage de MCD à MLD :
On dit qu’une association entre deux entités est de types :
1 :1 si les deux cardinalité sont 0.1 ou 1.1
1 : n si les deux cardinalité sont 0, n ou 1, n (un à plusieurs)
n :m si les deux cardinalité sont 0,n ou 1,n (plusieurs à plusieurs)
Exemple :
Valider le modèle suivant en vérifiant les affirmations ci-dessous, cochez la case lorsque
l’affirmation est exacte.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
65
1- un micro-ordinateur possède toujours un contact de maintenance
2- un contrat de maintenance ne garantit pas que des micro-ordinateurs
3- un micro-ordinateur est couvert par aucun contact ou un contact
4- un fournisseur achète des micro-ordinateurs
5- un micro-ordinateur peut être acheté chez plusieurs fournisseurs
6- d’autres couples de cordialités peuvent être utilisé sur un MCD
7- Ce modèle comporte 3 associations et 2 entités
8- La durée du contrat peut être calculée
9- L’ordinateur est identifié par son nom de machine
10- Le nom du fournisseur permet d’identifier un fournisseur
11- Deux micro-ordinateurs ne permettent pas d’avoir le même nom de machine
12- En cas de panne, On sait qu’il faut envoyer l’ordinateur pour la réparation
13- un fournisseur a vendue un ordinateur, un ou plusieurs micro ordinateurs
En utilisant les informations ci-dessous, complétez le précédent
Un logiciel se caractérise par un nom, une catégorie, un numéro de série et un numéro de
version
Un logiciel est identifié par (cocher la bonne réponse)
Un nom
Une catégorie
Un numéro de série ;
3) Un logiciel peut-être installé sur un micro-ordinateur
Un micro-ordinateur possède toujours un logiciel .Certains ordinateurs peuvent stocker
plusieurs logiciels différents
4) Un réparateur est décrit par un code mnémonique, un nom, des coordonnées postales et
téléphoniques
5) Un réparateur est capable de réparer tous les micro-ordinateurs
6) Un contrat de maintenance est toujours signé avec un et un seul réparateur
7) Un réparateur signe un ou plusieurs contrats.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
66
Troisièmement : Initier les étudiants à écrire un programme en langage html
Cette partie concerne les étudiants en 2ème année. Abordons le par une séance d’un cours
théorique.
Objectif : Initier les étudiants à écrire un programme en langage html
Durée : 3heures
Pré requis : Programmation en langage Turbo Pascal
Déroulement du cours :-le langage html
-Syntaxe du langage html
- Exemple d’un formulaire
Introduction:
HTML (Hyper Text MarkUp Language) est un langage de description (et non pas un langage
de programmation) qui va nous permettre de décrire l’aspect d’un document, d’y inclure des
informations variées (textes, images, sons, animations etc.…) et d’établir des relations
cohérentes entre ces informations grâce aux liens hypertextes.
Les avantages du langage HTML sont nombreux :
Peux coûteux en effet un simple éditeur de texte suffit à écrire ses premiers documents
HTML
Relativement facile à aborder,
Il représente en outre un bon moyen de dépasser les problèmes de comptabilité entre des
systèmes et des formats informatiques différents.
La description d’un document HTML passe par l’utilisation de BALISE (ou ’’ TAGS ‘’ en
anglais). Une balise est délimité par un signes ‘’<’’ et ‘’>’’ entre lesquels figure le nom de la
balise. Par exemple le balise de retour à la ligne est <BR> la plupart du temps, on utilise la
balise de début, et une balise de fin, qui définissent les propriétés de l’intervalle.
Exemple :
Tag<B>
Début d’écriture
en BOLD (gras)
Tag<B>
Fin d’écriture en
BOLD (gras)
Résultat dans
le navigateur
<B> écriture en gras< /B>
Sera traduit par :
Ecriture en gras
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
67
Syntaxe du langage HTML
< !....commentaire……>
< ! DOCTYPE>
<HTML>
<HEAD>
« Ecrire votre texte ici »
</HEAD>
<BODY>
« Ecrire votre texte ici »
</BODY>
<HTML>
Les formulaires :
Les formulaires fond parti du langage html, c'est-à-dire qu’il existe des tags particulier
permettant de les créer.
Les formulaires sont généralement utilisés pour créer un médium interactif entre l’utilisateur
et le serveur web. Par exemple, le formulaire peut demander à l’utilisateur de choisir un
document à l’aide d’un menu déroulant, et renvoyer ce document une fois le choix établi.
L’avantage des formulaires est qu’ils permettent de créer une interface pour différentes
passerelles (d’où le nom de CGI) telles que les bases de données ou d’autres serveurs.
Le code source est le suivant : il ressemble bien entendu à celui d’une page HTMT
courante :
<html>
<head>
<title> Un formulaire pour débuter </title>
</head>
<body>
<br>
<h2> Un formulaire pour débuter </h2>
<hr>
<p>
<form method="post" action="nom_votre_programme">
choisissez ceci;
<input type="checkbox" name="check checked">
<p>
Choisissez quelque chose:
<p>
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
68
<input type="radio" name="choix1" value="un">Un
<br>
<input type="radio" name="choix1" value="deux">Deux
<br>
<input type="radio" name="choix1" value="trois">Trois
<br>
<p>
Choisissez encore quelque chose:
<p>
<select name="choix2">
<option>Quatre
<option>Cinq
<option>Six </option>
</select>
<p>
Saisissez du texte:
<input type="text1" size="30" value="dans cet espace réservé">
<p>
Saisissez un autre texte:
<p>
<TEXTAREA name="texte2" row="5" cols="60">0
dans cet autre espace réservé à cet essai
</TEXTAREA>
<p>
<input type="submit" value="appuyer ici pour valider">
<p>
<input type="reset" value="appuyer ici pour annuler">
<p>
</form>
</p>
</body>
</html>
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
69
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
70
CONCLUSION GENERALE Le site a été testé avec des données restreintes. Il reste à saisir toutes les données
archivées à l’Ecole.
Effectivement, la création ou la manipulation des pages web dynamiques nécessite la
maîtrise du serveur web et sa configuration ainsi que les différents protocoles.
Concernant la connexion d’une base de donnée à un serveur web ; cela nécessite la
connaissance des différentes requêtes SQL et le langage de script. Le choix d’un tel langage
se fait par son aptitude à traiter les données.
Nous avons utilisé DREAMWEVER MX comme éditeur de source du fait qu’il fait partie de
ceux qui sont les plus performants.
Etant donnée que ce travail est une réalisation d’un portail web dynamique pour la suivie de
la scolarité des étudiants inscrits à l’ENSET tournant sur un serveur web, le choix qu’on a
fait pour utiliser un serveur de données, c’est tout simplement pour rendre facile la gestion
de données sur les systèmes.
Des améliorations sont envisageables, notamment sur la recherche thématique sur les
projets et mémoires réalisés. Ce travail sera d’une grande utilité pour le service de la
scolarité et les responsables pédagogiques à l’ENSET.
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
71
ANNEXE
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
72
SUJET DE MEMOIRE ........................................................................................................... 1
« Système d’informations ....................................................................................................... 1
pour la suivie de la scolarité des étudiants de l’ENSET » ...................................................... 1
REMERCIEMENTS ............................................................................................................... 2
RESUME ............................................................................................................................... 3
Introduction générale ............................................................................................................. 1
Partie1 : Etude théorique ....................................................................................................... 2
I. Systèmes d’informations ................................................................................................. 2
1. introduction ................................................................................................................. 2
2. Définition..................................................................................................................... 2
3. Les différents systèmes d’informations ....................................................................... 2
4. Utilité d’un système d’informations .............................................................................. 3
5. Conclusion .................................................................................................................. 3
II. Les bases de données et le système de gestion de base données ................................ 4
1. Les bases de données ................................................................................................... 4
1.1 Définition : ................................................................................................................. 4
1.2 Propriété : ................................................................................................................. 4
1.3 Utilité des bases de données : ................................................................................. 4
2. Le système de gestion de base de données : ................................................................. 5
2.1. Définition : ................................................................................................................ 5
2.2 La gestion de base de données : .............................................................................. 5
2.3 Les principaux SGBD : .............................................................................................. 6
2.4 Les différentes modèles de système de gestion de base de données (SGBD) ......... 6
2.4.1 Le modèle hiérarchique :........................................................................................ 7
2.4.2 Le modèle réseau : ................................................................................................ 7
2.4.3 Le modèle relationnel : ........................................................................................... 7
2.4.4 Le modèle objet : ................................................................................................... 8
2.5 Les niveaux des données : ....................................................................................... 8
2.6 Les caractéristiques d’un SGBD ............................................................................... 9
3. Conception d’une base de données ............................................................................. 10
3.1 Introduction ............................................................................................................. 10
3.2 Définition ................................................................................................................. 10
3.3. Les concepts importants de l’approche objet ............................................................. 11
3.3.1. Encapsulation ..................................................................................................... 11
3.3.2. Héritage .............................................................................................................. 11
3.3.3. Polymorphisme ................................................................................................... 12
3.3.4. Agrégation .......................................................................................................... 12
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
73
3.4. L’évolution de l’approche Objet ................................................................................. 13
3.4.1. Les concepts Objets sont stables et éprouvés .................................................... 13
3.4.2. Les avantages de l’approche objet ...................................................................... 14
3.4.3. Les inconvénients de l’approche objet ................................................................ 14
3.4.4. Les remèdes aux inconvénient de l’approche objet ............................................. 14
3.5. Choix du langage de modélisation ............................................................................. 15
3.5.1. Vues globales sur les méthodes d’analyses ........................................................ 15
a. Les premiers consensus ........................................................................................... 15
b. L’unification et la normalisation des méthodes (1995-1997) ...................................... 15
3.5.2. Choix du langage de modélisation ...................................................................... 16
3.6. Conception et modélisation ....................................................................................... 17
3.6.1. Présentation de UML .......................................................................................... 17
3.6.2. Modélisation avec UML ....................................................................................... 17
a. Diagramme de cas d’utilisation ................................................................................. 18
b. Diagramme de classes ............................................................................................. 18
c. Diagramme de packages .......................................................................................... 19
d. Diagramme de séquence .......................................................................................... 19
e. Diagramme de collaboration ..................................................................................... 20
f. Diagramme d’état ...................................................................................................... 20
g. Diagramme d’activités............................................................................................... 21
h. Diagramme de composants ...................................................................................... 21
i. Diagramme de déploiement ....................................................................................... 22
3.6.3. Démarche de modélisation de la scolarité ........................................................... 22
a. Les diagrammes de cas d’utilisation ......................................................................... 25
b. Les différentes classes dans la conception ............................................................... 35
Partie 2 : REALISATION ...................................................................................................... 37
1. Rapport sur l’étape du travail ........................................................................................ 37
2. Les outils nécessaires pour la réalisation ..................................................................... 38
2.1 Architecture du site ................................................................................................. 38
2.2 Choix du langage de programmation ...................................................................... 39
2.2.1 Le langage PHP ................................................................................................... 39
2.2.2 Mysql .................................................................................................................. 40
2.3 Mode de transmission de données ............................................................................. 41
2.4 Les logiciels utilisés .................................................................................................... 42
2.5 Implémentation ........................................................................................................... 42
2.5.1 Ouverture de session ........................................................................................... 43
2.5.2 L’insertion des données ....................................................................................... 45
Système d’informations pour la suivie de la scolarité des étudiants de l’ENSET
74
2.5.3 L’affichage des résultats ...................................................................................... 45
2.5.4 Modification des données .................................................................................... 46
2.5.5 Suppression des données.................................................................................... 50
3. Présentation des pages conçues .................................................................................. 51
3.1 La page d’accueil .................................................................................................... 51
3.2 Page de la scolarité ................................................................................................ 52
3.2.1 Page du secrétariat principale .............................................................................. 52
3.2.2 Page du secrétariat de direction........................................................................... 54
3.3 Page pour étudiants ................................................................................................... 58
3.4 Page pour l’annuaire Etudiants................................................................................... 58
Partie 3 : IMPLICATION PEDAGOGIQUE APPORTEE PAR CE TRAVAIL ......................... 62
CONCLUSION GENERALE ................................................................................................ 70
ANNEXE .............................................................................................................................. 71