Avant-propos
Le célèbre Robert X.Cringely louait la remarquable
évolution de l'informatique en ces termes :
« Si l'automobile avait progressé de la
même façon que l'informatique, une Rolls-Royce coûterait
aujourd'hui 100 dollars, ferait 300.000 kilomètres avec un seul litre
d'essence et exploserait une fois par an en tuant tous ses passagers
». Eu égard, à cette évolution
perpétuelle de l'informatique qui laisse parfois croire que la
philosophie et l'informatique, suivent le même canal de
développement, les entreprises se voient dans une obligation
d'améliorer leurs structures de gestion et d'administration.
Et, à ce propos, l'on a fait l'heureux constat que les
Technologies de l'Information et de la Communication (T.I.C) tendent à
devenir l'outil de communication et l'élément concurrentiel
majeur de toute industrie qui aspire de nos jours accroître son
rendement. Parlant de ces domaines dans lesquels les TIC sont en plein essor
nous allons jeter un long regard sur le domaine de l' « Education »
où l'on s'habitue aujourd'hui à l'expression T.I.C.E qui signifie
Technologie de l'Information et de la Communication pour l'Education.
Dans ce spectre, nous devons préciser que
l'Université de Lomé héberge un cycle de formation en
informatique au Centre Informatique et de Calcul (CIC/CAFMICRO) qui est
spécialisé dans la prestation de services en informatique.
Or, si l'Université a en son sein ce centre
dédié à l'informatique, on suppose que le système
d'information* de cette dernière doit être bien conçu,
crédible et par surcroît sécurisé pour
refléter l'image de celle-ci et servir aussi de puissant outil
stratégique pour les différents acteurs qui s'y impliquent.
C'est justement dans cet esprit de moderniser son
système d'information que des efforts sont entrain d'être abattus
par les responsables pour mieux accueillir la toute prochaine reforme que nous
considérons comme une refonte du schéma éducatif à
l'université.
Ce pari de tous les intérêts qui est celui
d'entrer dès la rentrée 2007 dans le système
baptisé LMD (Licence Master Doctorat) nécessite une modernisation
des structures académiques et pédagogiques.
A cet effet, plusieurs projets ont été
initiés par ladite Université. C'est ainsi que celui dont le
thème est « Gestion des unités d'enseignement dans
le cadre de la reforme LMD à l'Université de Lomé
» nous a été confié.
Etant donné qu'à la fin de la formation au
CIC/CAFMICRO il est vivement recommandé à tout étudiant
d'effectuer un stage de dix (10) semaines en entreprise pour l'obtention du
Diplôme Universitaire de Technologie (DUT). C'est donc à l'issu de
ce stage que nous avons effectué au CIC/CAFMICRO que ce modeste
mémoire qui relate notre travail a été
rédigé dans l'intention de le présenter et le soutenir
publiquement.
Des lacunes, des faiblesses, des imperfections, il y en a
fatalement, sans nul conteste. Mais croyiez-nous, cette ceuvre, humaine
d'ailleurs, ne doit pas manquer de censeurs.
1
Et ce sera tant mieux puisqu'ils permettront ainsi
d'améliorer les versions ultérieures, et du logiciel et du
mémoire que nous avons réalisé. C'est en cela même
que réside la force de l'homme du progrès.
A cet effet, je tiens à exprimer ici déjà
toute ma gratitude à ceux qui par souci d'apporter une pierre à
notre réalisation vont en apprécier la substance et nous aider
par leurs critiques qui nous seront d'un grand intérêt.
Au demeurant, pourquoi face à cette pléthore
d'intérêts qui laissent un bon augure pour la reforme LMD,
serrions-nous bornés simplement au travail que nous venons d'accomplir
sur ce chantier en pleine construction ?
Certes, nous avons confiance à notre volonté et
notre désir de mieux faire. Notre plus fort souhait et notre plus grand
honneur seraient assurément de faire partir des bâtisseurs de ce
système LMD pour le plus grand bonheur des `'Hommes `'.
Pour terminer cet avant-propos, permettez-nous de rappeler
(comme le disait Jean de LA RIVIERE 1721) au grand public qui feuillettera
peut-être un jour ce mémoire :
De le lire pour appendre,
Car il n'en est point de si parfait,
Qu'on ne puisse reprendre,
Ni de si mal fait,
En qui on ne puisse apprendre.
2
Résumé du projet
TITRE DU PROJET
|
Gestion des unités d'enseignement dans le cadre de la
reforme LMD à l'Université de Lomé
|
CONTEXTE DU PROJET
|
-Alignement de l'Université de Lomé sur le
système en vigueur dans de nombreux pays au monde et intégration
régionale de L'UL. -Valorisation dans l'espace francophone africain
de toutes les formes d'enseignement. -Modernisation de l'offre de formation.
|
OBJECTIFS DU PROJET
|
-Suivi automatisé de la mobilité des
étudiants. -Suivi automatisé du parcours individuel des
étudiants :
*Gestion des UE et des crédits obtenus par les
étudiants.
*Gestion du supplément au diplôme (stages
évalués en crédits), des charges horaires de
travail.
-Gestion du semestre (en terme de validation d'UE etc.)
|
AVANTAGES DU PROJET
|
-La gestion informatisée :
* du semestre en termes d'UE, de crédits, de charge
horaire de travail, de stages, du travail personnel des étudiants.
* du parcours individuel suivi par l'étudiant à
l'université de Lomé.
-La Possibilité à l'étudiant de suivre
son
évolution personnelle à l'université et
d'être informé sur sa filière de formation.
|
LANGAGE DE MODELISATION
|
UML (Unified Modeling Language)
|
LANGAGES DE PROGRAMMATION
|
PHP, JavaScript, HTML, CSS.
|
SERVEURS
|
MySQL (SGBD), PHP (Application), Apache(Web)
|
LIEU DE REALISATION DU PROJET
|
Centre Informatique et de Calcul /Centre Inter Africain de
Maintenance des équipements MICRO Informatique.(CIC/CAFMICRO)
|
BUT DU STAGE
|
Le but de ce stage est la présentation et la
soutenance de notre mémoire de fin de formation en
DUT
|
DUREE DU PROJET
|
3 mois.
|
PROJET REALISE PAR
|
Komi Klenam ADJAFO-TRETU
|
3
INTRODUCTION
L'extension continuelle des capacités de l'outil
informatique depuis sa naissance au lendemain de la seconde guerre mondiale, et
portant le rôle toujours accru qui lui échoit dans des secteurs
d'activité de plus en plus nombreux, ont fait de l'industrie du logiciel
un domaine en forte croissance, et qui rien que par son poids direct dans les
développements économique, politique, social... doit être
classé au rang des industries majeures.
L'enjeu du marché logiciel ne se limite cependant pas
à son impact direct.
En effet, le logiciel a atteint aujourd'hui un
véritable caractère d'ubiquité et d'explosion manifeste,
non seulement pour les besoins du système d'information des entreprises
mais en tant que partie intégrante, et prépondérante, de
la plupart des activités des entreprises que ce soit de manière
directe ou indirecte.
On a pu constater que le logiciel est partout. Dans le monde
du transport avec l'avionique, dans l'Education avec la révolution des
TICE, les systèmes de contrôle du trafic informatisés, dans
la production et la gestion du transport de l'énergie, et encore dans la
productique pratiquement pour toutes les industries. Cette omniprésence
est due au développement fulgurant de l'Internet* et de la
réseautique*.
En étendant donc continûment le champ de ses
applications, le logiciel en un certain sens, change de nature, il devient un
élément stratégique pour toutes les branches de
l'industrie.
Mais la caractéristique peut-être la plus
cruciale du logiciel est d'être un produit intrinsèquement
complexe, d'où deux problématiques importantes, celles de la
qualité et de la productivité. A de nombreux égards, la
maîtrise de l'activité logicielle est insatisfaisante.
Heureusement, de nos jours, le nouveau mode d'organisation du
développement que représente le logiciel libre pourrait apporter
une solution au moins partielle à la question de la qualité et de
la productivité. Et ce faisant on trouve une solution d'approche
à ces deux problématiques.
Comme nous l'avons souligné dans l'avant-propos,
l'université de Lomé s'apprête à entrer dans un
nouveau système dit LMD.
A cet effet, comme activité préparatrice pour
accueillir ce nouveau système, les dirigeants de L'université par
l'entremise du CIC/CAFMICRO, centre qui a servi à notre formation, ont
initié un «mégaprojet» dans lequel se trouve la «
Gestion des Unités d'enseignement dans le cadre de la reforme
LMD à l'université de Lomé ».
C'est sur cette dernière que notre stage a
été focalisé.
Nous avons plus d'une raison de considérer
l'étude réalisée et présentée dans ce
document comme un travail utile puisqu'elle répond d'une part aux
objectifs de la reforme qui s'inscrivent dans le cadre d'une approche
prospective et novatrice, et d'autre part elle a fait l'objet de notre
mémoire de fin de formation.
4
L'objectif poursuivi est la conception et la mise en ceuvre
d'un logiciel libre qui répond aux exigences de gestion
informatisée des unités d'enseignement du système LMD.
Pour ce faire nous avons eu à adopter une démarche
tripartite.
Le document et l'étude que nous avons
réalisés sont subdivisés comme suit :
- l'étude préalable qui comprend la
présentation du cadre de stage et la présentation du sujet,
- la modélisation avec des diagrammes UML que nous
présenterons plus en détail dans le mémoire, et en fin de
compte
- la programmation.
5
CHAPITRE I :
Etude préalable
1- Bref aperçu sur l'Université de
Lomé.
2- Présentation du CIC/CAFMICRO.
3- Contours du système à
modéliser.
|
6
Présenté et soutenu par Komi Klenam ADJAFO-TRETU
1.
Bref aperçu sur l'Université de Lomé
L'Université de Lomé (anciennement
désignée Université du Bénin), dès sa
création le 14 septembre 1970, s'est assignée comme objectif la
formation des cadres suffisamment qualifiés pour entretenir et
gérer les structures sociales, économiques et culturelles du
pays. Elle se veut par ailleurs une institution de recherche au service du
développement du pays.
Elle est composée de 15 établissements
(facultés, centres, instituts, et écoles) dans lesquels les
enseignements sont assurés par 645 enseignants permanents et vacataires.
L'effectif des étudiants est estimé de nos jours à 15000
environ.
Les atouts informatiques de l'université sont :
- le cyberespace,
- les salles informatiques se trouvant dans certaines
écoles et facultés telles que : le CIC/CAFMICRO, l'IUT de
Gestion*, l'ESSD*, l'ENSI*, la FMMP* etc.
- le site web de l'université,
- et tout récemment l'interconnexion de presque toutes les
institutions
de l'université. Ceci constitue la solution au
problème de communication entre les différents réseaux
locaux qui existaient.
2. Présentation du CIC/CAFMICRO 2.1- Historique et
situation
Le Centre Informatique et de Calcul/Centre Inter Africain de
Formation à la maintenance des équipements
MICRO-Informatique(CIC/CAFMICRO) est l'unique établissement de formation
supérieure en informatique à vocation professionnalisant de
l'Université de Lomé.
Son but principal est la formation des Techniciens
Supérieurs en informatique. Au début, le centre ne disposait que
d'une unique filière en maintenance micro-informatique qui accueillait
essentiellement les apprenants venant des pays membres de
l'AUPELF/UREF*. L'entrée dans le centre était
dès lors conditionnée par l'obtention antérieure d'un DUT
électronique ou en informatique industrielle et une sélection sur
étude de dossier. Cette formation ne durait qu'une année
universitaire.
Il a ouvert ses portes en octobre 1990 au sein de
l'université du Bénin (aujourd'hui Université de
Lomé) grâce à une mutualisation d'efforts de quatre (4)
pays africains notamment le Bénin, le Burkina Faso, le Gabon et le Togo
ainsi qu'à la coopération et le soutien financier du
Ministère Français de la Coopération, du PII/UNESCO*, de
l'AUPELF/UREF et de l'appui intellectuel du CINERA*. Il est situé
à coté de la FDS (Faculté Des Sciences), tout juste en
face de la DAAS* et non loin de la FMMP.
Outre la formation de Techniciens Supérieurs en
Micro-informatique, le CIC/CAFMICRO assure depuis 1995 la formation de
Techniciens Supérieurs en Informatique (filière logiciel).
7
Cette filière est accessible sur concours aux
titulaires d'un BAC (vieux d'au moins deux ans) séries C, D, E, F. Cette
formation dure deux années académiques et est sanctionnée
par un Diplôme Universitaire de Technologie (D.U.T) Informatique.
2.2- Objectifs de la formation au CIC/CAFMICRO
Depuis la création du CIC/CAFMICRO, ses instances
dirigeantes grâce à leur similitude de vision, et surtout leur
volonté commune et leur détermination inébranlable de
faire un nom au centre ont su circonscrire utilement les objectifs pour la
formation.
Guidés par cet idéal de progrès, les
formateurs et les initiateurs dudit centre ont permis par leurs efforts,
l'illustration des objectifs essentiels poursuivis.
Dans le souci d'éviter une indistinction dans la
présentation des objectifs, on a fait un regroupement par filière
de formation.
Ainsi le CIC/CAFMICRO a pour objectifs :
* Pour la filière Technicien Supérieur en
Informatique, la formation des techniciens supérieurs aptes
à :
- Examiner minutieusement des systèmes informatiques ;
- Mettre en pratique les leçons de génie logiciel
;
- Conduire des projets informatiques ;
- Se spécialiser et Réagir acceptablement dans
divers domaines informatiques tels que la maintenance informatique,
l'informatique industrielle, la robotique, l'intelligence artificielle, les
systèmes réseaux, etc.
- Choisir et à proposer des solutions et conseils en
matière
informatique ;
- Installer et administrer des réseaux locaux et
téléinformatiques.
* Pour la filière Technicien Supérieur en
Maintenance Informatique, la formation des techniciens capables :
- D'assurer la maintenance préventive et curative des
premier et deuxième niveaux des matériels et logiciels ;
- D'avoir des notions utiles sur les systèmes
informatiques ;
- D'être capables de concevoir et réaliser un
logiciel. ;
- D'avoir l'intuition d'adaptation des logiciels et des
matériels informatiques aux besoins des entreprises.
Outre ces objectifs du CIC/CAFMICRO, il faut souligner :
- Les efforts du centre dans cette vaste entreprise
d'informatisation des structures administratives et pédagogiques ainsi
que dans l'instauration et la manipulation des
TICE* à l'université de
Lomé,
- Aussi l'organisation de plusieurs séminaires visant
à rehausser le niveau informatique de notre pays.
- Sans oublier les stages de fin de formation ou de
perfectionnement effectués par les étudiants issus du centre ou
venant d'autres horizons,
8
- l'Organisation des sessions de marque pour la
présentation des nouvelles technologies et des nouveaux
matériels,
- la signature des contrats de maintenance pour
les gros utilisateurs, et l'appui de deuxième niveau pour les
distributions locales,
- assembler des micro ordinateurs au profil des
structures d'enseignement et administratives de l'Université de
Lomé,
- l'assurance d'une formation continue en
informatique.
- Le CIC/CAFMICRO met aussi à la disposition des
étudiants et des enseignants des salles machines pour des travaux
pratiques en informatique et électronique.
2.3- Les activités principales
2.3.1 - Formations
Un des acabits du CIC/CAFMICRO réside dans la formation
assumée. Abordant cet aspect, il convient de noter que le centre forme
dans deux (2) filières à savoir :
La filière Technicien supérieur en Informatique
L'accessibilité à cette filière est
conditionnée par un concours aux titulaires
d'un Bac (vieux d'au plus deux ans) série C, D, E, F.
Elle dure deux années universitaires.
L'issue fait des étudiants ayant suivi la formation, des
techniciens supérieurs titulaires d'un Diplôme Universitaire de
Technologie (DUT) Informatique.
Cette formation prédestine les étudiants aux
fonctions suivantes :
Chef de projet informatique, Responsable d'exploitation, Homme
Système...
La filière Technicien supérieur
spécialisé en Maintenance Informatique Contrairement à la
filière technicien Supérieur en Informatique,
l'accessibilité à cette filière est conditionnée
par une étude de dossiers aux titulaires francophones des parchemins DUT
(électronique ou informatique), licence ou maîtrise (Sciences
Naturelles, Mathématiques, Physique ou Chimie), et du Diplôme
d'Ingénieur en Génie Electrique.
Mais des fois certains étudiants avant d'intégrer
cette filière suivent des tests organisés par ledit centre.
La formation dure une année universitaire et conduit
à l'obtention d'un POSTDUT.
Cette formation prédestine les étudiants aux
fonctions suivantes :
Chef de projet informatique, Responsable d'exploitation, Homme
Système...
2.3.2 -FORCO-UL
C'est l'acronyme de Formation Continue à
l'Université de Lomé.
A l'Université de Lomé, trois (3)
établissements Supérieurs à vocation professionnalisant.
Le CIC/CAFMICRO, L'ESSD et L'IUT de Gestion se sont réunis pour mettre
en commun leur ressources afin de former un pôle de formation tertiaire
appelé FORCO-UL (anciennement désigné FORCO-UB).
9
Ce groupement de formation continue a débuté ses
activités le 1er Janvier 1997. Une migration de ce groupement est
entrain de se faire vers un autre qu'on désigne CFC (Centre de Formation
Continue).
L'un des projets qui s'inscrivent dans ce groupement FORCO-UL est
: *Académie Cisco pour les femmes :
Elle a pour objectifs de permettre aux femmes
d'acquérir des compétences en technologies de l'information afin
de faciliter leur participation dans l'économie d'Internet. Elle
permettra de briser les barrières socioculturelles afin d'engager les
femmes dans les carrières des nouvelles technologies de l'Information et
de la Communication.
2.3.3 -Projet ULNET.
C'est l'un des projets les plus intéressants
organisés à l'Université de Lomé.
Ceci est dû spécifiquement au rôle louable
et très décisif que la mise en #177;uvre complète et
effective de ce projet ULNET (autrefois UBNET) va jouer dans le
développement de l'université de lomé. Le CIC/CAFMICRO,
à travers l'ULNET, représente la principale ressource pour
l'évolution du domaine universitaire car il est impliqué dans bon
nombre de projets en relation étroite avec ce projet qualifié de
ULNET.
La finalité de ce projet est de réaliser sur le
campus universitaire un réseau fiable qui va interconnecter les
différentes institutions de l'Université afin de faciliter le
partage rapide et sécurisé d'informations. La mise en place
définitive favoriserait le campus numérique que les acteurs de
l'Université ont mis dans leur préoccupation.
2.3.4 -Formation Cisco.
Le CIC/CAFMICRO a inscrit, il y a de cela quelques années
dans son registre de formation les cours Cisco.
Ceci était possible grâce à la franche
collaboration du Programme des Nations Unies pour le Développement
(PNUD) avec le CIC/CAFMICRO. Il est devenu ainsi le premier Centre
Académique Cisco au TOGO. Il dispense des cours du programme des
Académies Cisco CNAP*.
Il est subdivisé en quatre modules ou semestres de cours
basé sur la technologie, la configuration, la maintenance et la
conception des réseaux.
Il prépare à la certification CCNA*, grâce
à la qualité du cours dispensé lors de la formation. Il
faut noter que le détenteur d'une certification CCNA a de multiples
atouts notamment :
- l'installation et la configuration de commutateurs et de
routeurs Cisco dans les inter-réseaux multi-protocoles, à l'aide
d'interfaces LAN (Local Area Network) et WAN (Wide Area Network),
- le dépannage de premier niveau,
- l'amélioration de la sécurité et des
performances du réseau.
10
Il est adressé aux techniciens en informatique, aux
administrateurs de réseaux (Intranet et Internet), et à tous ceux
qui veulent posséder des connaissances en réseautique.
2.3.5 -Association A.T.U.L.L
L'Association Togolaise des Utilisateurs de Logiciels Libres
(A.T.U.L.L) est une association à but non lucratif qui est
initiée par l'Agence Internationale de la Francophonie (A.I.F). Elle a
été créée le 28 mai 2001 à l'issue de son
Assemblée Générale constitutive qui s'est tenue à
Lomé.
L'objectif principal est la promotion de l'utilisation des
logiciels libres au TOGO. Elle est constituée de deux (2) organes
notamment :
-un Conseil d'Administration (CA) de trois (3) membres qui sont
:
le Bureau Régional pour l'Afrique de l'Ouest (B.R.A.O),le
Centre SYFED(actuel CNF) et le CIC/CAFMICRO ;
-un Bureau Exécutif (BE) de huit (8) membres :
*les membres actifs et ceux associés,
*les partenaires et sponsors.
Comme missions, l'A.T.U.L.L. est chargée d'animer et
d'entretenir au mieux le LABTIC qui est l'unique laboratoire des logiciels
libres, bâti dans les locaux du CIC/CAFMICRO. L'équipement du
LABTIC est l'ceuvre gracieuse de l'A.I.F, à travers son organe technique
qui est, l'Institut des Nouvelles Technologies de l'Information et de Formation
(I.N.T.I.F) basé à Bordeaux (France)
2.4 - Structures administratives et pédagogiques La
direction
*Le Directeur
Il est le plus haut responsable du centre de formation. Il
supervise toutes les activités se déroulant au CIC/CAFMICRO.
* Le Directeur Adjoint
Il seconde le directeur dans l'accomplissement de ses
tâches et joue également le rôle du Directeur des
études.
La division système d'information
Elle a pour mission principale la gestion des réseaux
Intranet et Internet des différentes institutions et
établissements de l'Université de Lomé.
La division Maintenance
Elle offre des services de maintenance informatique pour le
compte de l'Université de Lomé ou d'autres entreprises.
11
COMPTABI-- LITE
DIVISION MATERIEL
DIVISION DEVELOPPEMENT
DIVISION SYSTEME
SECRETARIAT
DIRECTION ADJOINTE
La Comptabilité
Son rôle est la tenue du cahier comptable et de toutes les
activités financières du CIC/CAFMICRO ;
Le Secrétariat
Il tient la correspondance du directeur, du directeur adjoint et
des fois des autres membres du personnel du CIC/CAFMICRO.
2.5-L'organigramme du CIC/CAFMICRO
Il présente de façon schématique
l'organisation interne du CIC/CAFMICRO.
DIRECTION
Figure1 : Organigramme du
CIC/CAFMICRO
|
2.6- Rôle du CIC/CAFMICRO dans le schéma
universitaire
En plus de la formation qu'il assume, le CIC/CAFMICRO est le
centre par excellence de l'Université de Lomé qui intervient et
influe dans le choix des T.I.C employées dans ladite
Université.
Ses prestations de services peuvent être
résumés comme suit :
1) Des sessions de marque pour la présentation des
nouvelles technologies et des nouveaux matériels.
12
Présenté et soutenu par Komi Klenam ADJAFO-TRETU
2) Des contrats de maintenance pour les gros utilisateurs, et
l'appui de deuxième niveau pour les distributeurs locaux.
3) Assemblage de micro-ordinateurs au profit des structures
d'enseignement et administrative de l'université du Bénin.
4) Développement de logiciels et des applications
informatiques.
2.7- Perspectives
Le CIC/CAFMICRO inscrit dans ses ambitions :
- l'ouverture d'une filière licence en Informatique.
- l'augmentation du nombre d'académies CISCO au TOGO.
- développement de plusieurs logiciels pour gérer
entièrement tous les contours de l'enseignement à
l'Université.
3.Contours du système à modeliser
3.1- Présentation du sujet
L'Université de Lomé met en place dès la
rentrée 2007 un nouveau système baptisé LMD. Ce
système exige :
- une amélioration de la gestion administrative des
universités ; - une maîtrise du semestre universitaire ;
- un consensus entre les personnels enseignants et administratifs
;
- la participation étudiante à tous les niveaux :
information, définition de l'offre de formation, fonctionnement,
évaluation ;
- l'accompagnement des étudiants par l'accueil,
l'information, l'orientation ; et l'aide à la définition de leur
parcours et de leurs projets professionnels ;
En plus de ces exigences, on remarque que le LMD introduit comme
changement dans l'enseignement et l'apprentissage :
- la mise en place de crédits capitalisables,
transférables, basés sur le travail de l'étudiant, dans
l'optique d'une logique d'apprentissage et non plus seulement d'enseignement
;
- la traduction des enseignements en termes de connaissances, de
capacités et surtout de compétences ;
- l'organisation de la formation en semestre avec, à
l'intérieur des semestres, des unités d'enseignement
obligatoires, optionnelles et libres, disciplinaires et non disciplinaires ;
- le recadrage des formations en regard des grands domaines de
compétence en recherche des universités ;
- la mobilité des enseignants et des étudiants
pour les enseignements et les stages , à l'intérieur d'une
même faculté, d'une faculté à une autre, d'une
université à une autre, dans le pays ou à
l'étranger.
C'est donc dans le souci de se conformer à ces
exigences et de pouvoir accueillir favorablement les changements que
l'université de Lomé a décidé de moderniser son
système d'information.
Ainsi comme le CIC/CAFMICRO est le centre qui a le
développement des applications comme un de ses services nous a
accepté comme stagiaire afin de
13
concevoir et mettre en #177;uvre un logiciel de « Gestion
des Unités d'enseignement dans le cadre de la reforme LMD ».
3.2-Problématique
Pourquoi doit-on informatiser les unités d'enseignements
à l'université de Lomé ?
Cette interrogation est d'un double intérêt pour
l'étude que nous avons réalisé au cours de notre stage
d'autant plus qu'une réponse à celle-ci d'une part apporterait
d'emblée une justification fondamentale de notre thème de stage
et d'autre part elle permettrait de lever les doutes qui rendent abstrus le
sujet.
L' Université de Lomé adopte très
prochainement le LMD (L pour Licence, M pour Master et D pour Doctorat)
calqué sur le modèle anglo-saxon (Bachelor, Master, PhD).
Etant donné que cette reforme constitue une refonte
majeure de l'éducation à l'Université, il s'est
avéré nécessaire que l'Université de Lomé
mette en place des structures adaptées pouvant permettre d'accueillir et
de gérer au mieux cette nouveauté dans le secteur de
l'éducation supérieure.
3.2.1- Contexte du Projet
La conférence Mondiale de l'UNESCO* sur l'Enseignement
Supérieur (Paris, Octobre 1998) traçait comme cadre d'action
prioritaire les exigences que nous avons mentionnées dans la description
du sujet. Or le système LMD que les pays européens ont
décidé d'adopter depuis 1998 comme architecture commune des
systèmes de formation de l'enseignement supérieur, permet
d'assurer une plus grande flexibilité des parcours de formation et
surtout une meilleure mobilité des étudiants. Les
universités d'Afrique francophone, de la région ouest-africaine
en particulier, ne doivent pas se sentir peu concernées par ce
système, déjà en vigueur dans plusieurs pays anglophones,
dans la mesure même où la mise en place est fortement soutenue par
l'UEMOA*.
Après l'Université de Ouagadougou (BURKINA FASO
en 2003) et l'Université Cheikh Anta Diop (SENEGAL en 2003), sept
universités du BURKINA, du BENIN et du TOGO (l'université de
Lomé et celle de Kara) ont formé un réseau pour entrer
dans le système LMD. Pour mieux gérer le LMD, l'université
de Lomé a initié ledit projet.
3.2.2- Diagnostic quantitatif
Certes, le LMD offre une panoplie d'opportunités qui
permettront d'améliorer considérablement les orientations
pédagogiques et administratives, mais force est de constater que L'UL
qui accueille environ 15000 étudiants encadrés par 645
enseignants permanents et vacataires dans 15 établissements
organisés très prochainement en 10 domaines rencontre des
difficultés dans la gestion du système éducatif.
14
3.2.3- Diagnostic qualitatif
Ce système tout en étalant des avantages
imbattables présente quelques difficultés liées à
sa gestion et son administration
Dans cet ordre d'idées, lors d'une rencontre qui s'est
tenue en août 2005 avec le Directeur de la DAAS (Direction des Affaires
Académiques et Scolaires) il nous a fait part des difficultés de
sa cellule à suivre de manière permanente donc transparente
l'évolution des études et des enseignements à
l'université ainsi que la complexité du système logiciel
mis à leur disposition. Il a également touché du doigt les
problèmes récurrents d'impression et la nécessité
de moderniser les interfaces utilisateurs pour faciliter les différentes
opérations que le logiciel doit permettre de faire.
Aussi, doit-on rajouter les plaintes des étudiants,
liées au non suivi régulier de leur travail personnel ainsi
qu'aux contraintes multiples rendant leur éducation difficile : manque
d'informations sur les filières, insuffisance d'échange
d'informations entre les enseignants, les responsables administratifs et
pédagogiques, et les étudiants.
De même les partenaires voudront suivre l'évolution
des enseignements pour permettre une meilleure insertion des étudiants
sur le marché professionnel.
Cette reforme LMD(encore désignée reforme 3.5.8)
qui loin d'être perçue comme une simple question de mode dans le
secteur universitaire fait l'objet de plusieurs rencontres et séminaires
visant à aplanir le terrain à ce qu'on peut avoir de plus
intéressant dans le monde éducatif comme ce changement utile des
méthodes de formations, d'enseignement, d'apprentissage et
d'évaluations.
Pour pouvoir donc bénéficier des avantages du
LMD il faut et il s'impose comme un devoir de pallier les problèmes
existants liés à la gestion informatisée des structures
administratives et pédagogiques.
Conscients donc, de la complexité de la mise en place
et du suivi du LMD, les responsables de l'UL ne ce sont pas laissés
affrioler par ce renouveau mais ont su par leur intuition naturelle, initier ce
projet qui consiste fondamentalement à gérer les unités
d'enseignements qui représentent vraisemblablement le noyau de la
reforme.
3.3- But à atteindre
Cette application est motivée par deux buts. Tout
d'abord, elle devra permettre à l'administration et aux enseignants de
suivre l'évolution de tous les étudiants mais aussi à
l'étudiant de suivre son parcours personnel grâce à
l'utilisation des Technologies de l'Information et de la Communication(TIC).
Ensuite, elle permettra aux parents et aux partenaires d'avoir
une vue globale sur l'enseignement et l'apprentissage dispensés à
l'Université de Lomé.
15
Les commanditaires de ce projet on souhaiter que notre
application puisse échanger en termes de données avec les
applications qui suivent :
- Mise en place d'un service d'authentification ouvert sous Linux
: Cas de l'annuaire des acteurs de l'Université de Lomé.
- Gestion des interactions entre les acteurs de
l'Université de Lomé.
- Gestion des inscriptions académiques à
l'Université de Lomé (SCOLOGIQ-UL).
- Gestion des notes à l'Université de Lomé
(GESNOTES-LMD). - Plate forme de eformation à L'Université de
Lomé
- Gestion des mémoires et rapports de stages à
l'université de Lomé (GED-UL)
3.4- Etude de l'existant
Cette étude nous a servi de référence
pour éviter certaines imperfections pour l'application que nous avons
développée car elle nous a permis de donner une ébauche de
solutions au problème auquel nous étions confronté.
3.4.1-Les dossiers d'expression des besoins utilisateurs Les
sources d'informations
Dans cette rubrique qui est d'une importance capitale dans la
conception d'un système logiciel, il importe de souligner que le
Directeur du CIC/CAFMICRO et notre maître de stage ont fait preuve
d'intérêts accordés à l'instauration du
système LMD.
Le Directeur a eu à s'entretenir plusieurs fois avec
nous et il n'a ménagé aucun effort pour mettre à notre
disposition les brochures et les articles édités pour la
sensibilisation et la mise en place du système. Il nous a accordé
également des interviews qui viennent appuyer les décisions
prises concernant le LMD à l'Université de Lomé.
Les principaux documents reçus sont :
Le système LMD à L'Université : il relate
les séminaires qui s'inscrivent dans le cadre de la reforme.
Le système LMD et sa mise en place à
l'Université de Lomé :
il présente les nouvelles notions, organisations, et
avantages du LMD.
L'Université de Lomé : Pour une modernisation de
l'offre de formation : il reprend les grands axes du document
précédent mais en donne une explication plus approfondie du
système. L'Université de Lomé : Projet d'offre de
formation : il présente les grands domaines de formation et les
filières associées.
LMD où en sommes-nous à L'UL (Commission LMD-UL)
?
Il présente les états d'avancement des
activités rentrant dans la mise en place du LMD.
Seminaire inter universitaire de pilotage du système
LMD
16
(Lomé 10-12 Octobre 2005).
Les pages de garde de ces documents sont présentées
à l'annexe E.
En plus de ces documents, le Directeur du CIC/CAFMICRO par
l'entremise de notre maître de stage nous a fait l'honneur d'assister
à une rencontre entre la DAAS et le CIC/CAFMICRO.
De même il nous a permis de rencontrer deux fois Mme Maryse
QUASHIE (Responsable de la Commission LMD-UL). On a rencontré
également
Mr AWOKOU qui a donné des éclaircissements sur le
sujet.
3.4.2- L'existant matériel
Le matériel qui a été laissé à
notre disposition a la configuration suivante: - Celeron(R) 2.40Ghz avec une
capacité de 40 Go.
- Mémoire RAM (Random Access Memory): 248Mo.
Ce matériel tournait avec le système d'exploitation
Windows XP.
3.4.3- L'existant logiciel
Hormis une application qui a résulté du projet
« Gestion des unités de valeurs à l'Université de
Lomé » réalisé par le CIC/CAFMICRO pour la FLESH
(Faculté des Lettres Et Sciences Humaines), aucun projet n'a
été encore développé jusqu'à maintenant dans
cette fièvre de la nouveauté LMD.
Nous n'avons pas pu bâtir notre application sur celle
existante puisque les règles de gestion ne répondent pas
exactement à celles exigées par la reforme LMD.
Par exemple le volume horaire et les crédits
n'intervenaient pas dans le traitement de la validation d'un module alors que
la reforme LMD prend cela en compte.
3.5- Critiques de l'existant
Nous n'avons pas eu à porter une critique rigoureuse
sur l'existant. Puisque que l'application développée au cours de
notre stage a tourné avec beaucoup de nouveaux éléments
qui ne sont pas en rapport strict avec ceux existant. Notamment les notions de
domaine, de crédit, de supplément au diplôme etc.
3.6- Solutions envisagées
Les solutions que nous avons envisagées reprennent
essentiellement les exigences de la reforme LMD.
L'application développée à une double
caractéristique : elle est une application Web* et client/serveur* car
elle doit permettre de répondre de manière transparente aux
besoins des utilisateurs.
Donc au lieu que la DAAS attende la fin du semestre pour avoir
l'état récapitulatif de l'enseignement à
l'université, elle peut l'avoir à tout moment à condition
que ce module soit activé par le responsable du domaine/option ou
l'administrateur. Ceci présente un grand avantage pour le suivi des
étudiants à l'Université.
17
Chaque domaine/filière/option a la possibilité de
consigner le travail effectué par les étudiants (travail
personnel, stages, absences, etc.).
L'enseignant a la possibilité d'informer les
étudiants concernant un devoir programmé ou un rapport de
séance lié à l'unité d'enseignement dans lequel il
dispense le cours.
Il peut également apprécier les étudiants
dont il s'en charge (appréciation stage, absence, etc.).
Les étudiants peuvent interagir avec le système
pour voir leur parcours individuel et s'informer sur les enseignements.
Nous avons pensé aussi offrir l'opportunité aux
tuteurs des étudiants et aux partenaires d'avoir
régulièrement l'état d'avancement des enseignements et
apprentissages qui se déroulent à l'Université.
En somme nous dirons que les solutions envisagées
contribuent à la mobilité des étudiants et des enseignants
pour les enseignements et les autres préoccupations
éducatives.
Le chapitre qui va suivre a pour objet la modélisation du
projet.
Il décrit le système grâce à des
diagrammes qui permettent de bien cadrer le problème à
résoudre. C'est l'alternative UML pour représenter les
modèles conceptuel, de traitement , logique et organisationnel de
données.
18
CHAPITRE II :
Modélisation du projet
1- Présentation et justification du langage de
modélisation 2 - Les concepts de l'approche objet
3- La modélisation des vues statiques et
dynamiques
|
<<Qu'il s'agisse d'éplucher des pommes de
terre, démonter une pendule
ou concevoir un système informatique, on obtient
toujours de meilleurs
résultats avec une méthode que sans
méthode. >>
Didier Banos & Guy Malbosc.
19
Présenté et soutenu par Komi Klenam ADJAFO-TRETU
1- Présentation et justification du choix de UML
La modélisation est donc une des tâches les plus
importantes dans le processus de développement d'un système. La
phase consacrée à l'analyse peut être
considérée comme plus stratégique que celles
dévolues à la conception et l'implémentation proprement
dites.
Il faut en effet fondamentalement représenter,
comprendre et identifier les exigences du système afin de concevoir puis
d'implémenter ensuite une application stable et performante.
UML opte pour l'élaboration des modèles,
plutôt que pour une approche qui impose une barrière stricte entre
l'analyse et la conception :
D'abord nous allons définir ce qu'est un modèle.
· Un modèle est une simplification de la
réalité.
· Il permet de mieux comprendre le système qu'on
doit développer.
· Les meilleurs modèles sont proches de la
réalité.
Un modèle est une vue subjective mais pertinente de la
réalité
· Un modèle définit une frontière
entre la réalité et la perspective de l'observateur. Ce n'est pas
"la réalité", mais une vue très subjective de la
réalité.
· Bien qu'un modèle ne représente pas une
réalité absolue, un modèle reflète des aspects
importants de la réalité, il en donne donc une vue juste et
pertinente.
Caractéristiques fondamentales des
modèles
Le caractère abstrait d'un modèle doit notamment
permettre :
· de faciliter la compréhension du système
étudié
> Un modèle réduit la complexité du
système étudié,
· de simuler le système étudié
> Un modèle représente le système
étudié et reproduit ses comportements.
Lorsqu'on souhaite réaliser un système logiciel
performant, il est aujourd'hui nécessaire de représenter, de
spécifier, de construire et de documenter au préalable ce
système à l'aide d'un langage adapté admis par la
communauté des spécialistes du logiciel.
Le langage le plus employé de nos jours, et qui tend
à devenir un standard est le langage UML (Unified Modeling Language,
traduit "langage de modélisation objet unifié").
20
Il ne s'agit pas d'un langage de programmation, ni d'un
langage strictement technique :UML a été créé dans
le souci de favoriser à la fois la description, l'analyse et la
conception d'un système logiciel afin de le réaliser aussi bien
que possible.
Il devient un triple acteur en permettant :
- de décrire les plans de construction du système
logiciel, en y intégrant
tous les ingrédients conceptuels, toutes les fonctions et
toutes les bases
de données ,toutes les classes et tous les composants
logiciels ; - de valider ces plans avant de commencer la programmation ;
- de réaliser effectivement le système.
1.1-Définition et Historique de UML
UML qui est un langage textuel et graphique a fait l'objet de
grands travaux de recherche.
Il y avait de cela une quinzaine d'années, MERISE
était la méthode de conception et de développement de
système d'information, de loin la plus utilisée dans le monde
informatique. Mais de nos jours les tendances ont changé.
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)
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.
UML a évolué très rapidement ainsi
respectivement en 2003 et 2004 ,UML 1.5 Et UML 2.0 ont vu le jour.
Plusieurs enquêtes réalisées sur les sites
dédiés au génie logiciel* ont
montré que UML constitue le langage par excellence pour la
modélisation.
En l'espace d'une poignée d'années seulement, UML
est devenu un standard incontournable.
Les experts tant en analyse et conception qu'en programmation
informatique diffusent d'innombrables articles au sujet de ce dernier et
à en croire certains, utiliser les technologies objet sans UML
relève de l'hérésie.
Les concepts de base de l'approche objet sont stables,
largement éprouvés et ne datent pas d'aujourd'hui. Programmer
« objet » c'est donc bénéficier d'une panoplie
d'outils et de langages performants. L'approche objet est une solution
21
technologique incontournable. Ce n'est plus une mode, mais un
réflexe quasiautomatique dès lors qu'on cherche à
concevoir des logiciels complexes qui doivent "résister" à des
évolutions incessantes.
Pourquoi avions-nous préféré UML comme
langage de modélisation par opposition au traditionnel cheminement
merisien au moment où l'informatique de gestion apparaît de plus
en plus comme un des éléments majeurs de la stratégie des
entreprises ?
Notre choix se fonde sur plusieurs critères. D'abord
l'émergence soudaine de UML ces dernières années. Cette
émergence se justifie par plusieurs atouts que nous ne manquerons pas de
relater dans ce mémoire. Ensuite ce choix est lié à la
complexité du système que nous devons modéliser.
1.2- Justification du choix de UML
1.2.1-Avantages et inconvénients de UML
Parlant des raisons qui expliquent cet engouement massif pour
ce langage, il faut préciser que UML, contrairement à son
prédécesseur MERISE qui pourtant est utilisée de nos
jours, donne un sens intéressant à l'approche objet et couvre de
plus tout le cycle de réalisation du logiciel.
Etant donné qu'il est le fruit de la fusion de plusieurs
méthodes objets, il utilise l'approche objet en présentant un
langage de description universel.
Il permet grâce à un ensemble de diagrammes
très explicites, de représenter l'architecture et le
fonctionnement des systèmes informatiques complexes en tenant compte des
relations entre les concepts utilisés et l'implémentation qui en
découle.
UML est avant tout un support de communication performant, qui
facilite la représentation et la compréhension de solutions objet
:
· Sa notation graphique permet d'exprimer visuellement une
solution objet, ce qui facilite la comparaison et l'évaluation de
solutions.
· L'aspect formel de sa notation, limite les
ambiguïtés et les incompréhensions.
· Son indépendance par rapport aux langages de
programmation, aux domaines d'application et aux processus, en fait un
langage universel.
UML est donc bien plus qu'un simple outil qui permet de
"dessiner" des représentations mentales... Il permet de parler un
langage commun, normalisé mais accessible, car visuel. Il
représente un juste milieu entre langage mathématique et naturel,
pas trop complexe mais suffisamment rigoureux, car basé sur un
métamodèle.
Une autre caractéristique importante d'UML, est qu'il
cadre l'analyse. UML permet de représenter un système selon
différentes vues complémentaires : les diagrammes.
22
Un diagramme UML est une représentation
graphique, qui s'intéresse à un aspect précis du
modèle ; c'est une perspective du modèle.
Chaque type de diagramme UML possède une structure
(les types des éléments de modélisation qui le composent
sont prédéfinis) et véhicule une sémantique
précise (il offre toujours la même vue d'un système).
Combinés, les différents types de diagrammes UML
offrent une vue complète des aspects statiques et dynamiques d'un
système. Les diagrammes permettent donc d'inspecter un modèle
selon différentes perspectives et guident l'utilisation des
éléments de modélisation (les concepts objet), car ils
possèdent une structure.
Une caractéristique importante des diagrammes UML, est
qu'ils supportent l'abstraction. Cela permet de mieux contrôler la
complexité dans l'expression et l'élaboration des solutions
objet.
UML opte en effet pour l'élaboration des
modèles, plutôt que pour une approche qui impose une
barrière stricte entre analyse et conception. Les modèles
d'analyse et de conception ne diffèrent que par leur niveau de
détail, il n'y a pas de différence dans les concepts
utilisés. UML n'introduit pas d'éléments de
modélisation propres à une activité (analyse,
conception...) ; le langage reste le même à tous les niveaux
d'abstraction.
Cette approche simplificatrice facilite le passage entre les
niveaux d'abstraction. L'élaboration encourage une approche non
linéaire, les "retours en arrière" entre niveaux d'abstraction
différents sont facilités et la traçabilité entre
modèles de niveaux différents est assurée par
l'unicité du langage. Il s'agit d'une tâche très complexe,
qui nécessite une approche itérative, car il est plus efficace de
construire et valider par étapes, ce qui est difficile à cerner
et maîtriser.
C'est donc avec beaucoup d'intérêt que j'avais
pris connaissance de cette proposition de mon maître de stage à
utiliser comme langage de modélisation UML.
Cette proposition se justifie par la complexité du
système LMD sur quoi notre stage est circonscrit. L'idée
était donc d'écrire des classes réutilisables pouvant
permettre de faire évoluer le projet. Ceci a été pour nous
l'occasion de découvrir la puissance de la programmation et l'analyse
objets.
Les points forts d'UML
UML est un langage formel et normalisé :
Il permet le gain de précision, encourage l'utilisation
d'outils et constitue à cet effet un gage de stabilité.
UML est un support de communication performant :
23
Il cadre l'analyse et facilite la compréhension de
représentations abstraites complexes. Son caractère polyvalent et
sa souplesse en font un langage universel.
Les points faibles d'UML
La mise en pratique d'UML nécessite un apprentissage et
passe par une période d'adaptation.
Même si l'Espéranto est une utopie, la
nécessité de s'accorder sur des modes d'expression communs est
vitale en informatique. UML n'est pas à l'origine des concepts objets,
mais en constitue une étape majeure, car il unifie les
différentes approches et en donne une définition plus
formelle.
Le processus (non couvert par UML) est une autre clé
de la réussite d'un projet. Or, l'intégration d'UML dans un
processus n'est pas triviale et améliorer un processus est une
tâche complexe et longue. Les auteurs d'UML sont tout à fait
conscients de l'importance du processus, mais l'acceptabilité
industrielle de la modélisation objet passe d'abord par la
disponibilité d'un langage d'analyse.
1.2.2-La norme UML utilisée : Rational
James Rumbaugh, Grady Booch et Ivar Jacobson, sont les
inventeurs d'OMT, Booch et Objectory/OOSE. Les "trois amigos", comme on les
surnomme, sont donc les véritables "parents" d'UML.
Ils travaillent tous trois à Rational Software, ce qui
semble logique, vu le rôle moteur qu'à joué Rational dans
le processus d'unification des méthodes fondatrices d'UML. Rational a
été un membre actif du noyau d'entreprises qui ont soumis UML
à l'OMG, anime des groupes d'utilisateurs et participe aux organismes de
révision d'UML.
L'ensemble des documents qui composent la norme UML (aux
formats PDF, HTML, Word et Frame), ainsi que de nombreuses informations
complémentaires (articles, copies de conférences, etc.) se
trouvent sur le site Web de Rational (
http://www.rational.com).
OMG
Fin 1997, UML est devenu une norme OMG (Object Management
Group). L'OMG est un organisme à but non lucratif, créé en
1989 à l'initiative de grandes sociétés (HP, Sun, Unis Ys,
American Airlines, Philips...). Aujourd'hui, l'OMG fédère plus de
850 acteurs du monde informatique. Son rôle est de promouvoir des
standards qui garantissent l'interopérabilité entre applications
orientées objet, développées sur des réseaux
hétérogènes.
L'OMG propose notamment l'architecture CORBA (Common Object
Request Broker Architecture), un modèle standard pour la construction
d'applications à objets distribués (répartis sur un
réseau).
24
Pour rester simple, on peut considérer CORBA comme une
généralisation de l'architecture clients/serveurs aux objets.
UML a été adopté (normalisé) par
l'OMG et intégré à l'OMA, car il participe à cette
vision et parce qu'il répond à la "philosophie" OMG.
1.3- Comment modéliser avec UML ?
UML est un langage qui permet de représenter des
modèles, mais il ne définit pas le processus d'élaboration
des modèles !
Cependant, dans le cadre de la modélisation d'une
application informatique, les auteurs d'UML préconisent d'utiliser une
démarche :
· Itérative et incrémentale,
· guidée par les besoins des utilisateurs du
système,
· centrée sur l'architecture logicielle.
D'après les auteurs d'UML, un processus de
développement qui possède ces qualités devrait favoriser
la réussite d'un projet.
- Une démarche itérative et
incrémentale ?
· L'idée est simple : pour modéliser
(comprendre et représenter) un système complexe, il vaut mieux
s'y prendre en plusieurs fois, en affinant son analyse par étapes.
·Cette démarche devrait aussi s'appliquer au
cycle de développement dans Le but est de mieux maîtriser la part
d'inconnu et d'incertitudes qui caractérisent les systèmes
complexes.
- Une démarche pilotée par les besoins des
utilisateurs ?
· Avec UML, ce sont les utilisateurs qui guident la
définition des modèles :
· Le périmètre du système à
modéliser est défini par les besoins des utilisateurs (les
utilisateurs définissent ce que doit être le système).
· Le but du système à modéliser est de
répondre aux besoins de ses utilisateurs (les utilisateurs sont les
clients du système).
Les besoins des utilisateurs servent aussi de fil rouge, tout au
long du cycle de développement (itératif et incrémental)
:
· A chaque itération de la phase d'analyse, on
clarifie, affine et valide les besoins des utilisateurs.
· A chaque itération de la phase de conception et de
réalisation, on veille à la prise en compte des besoins des
utilisateurs.
25
· A chaque itération de la phase de test, on
vérifie que les besoins des utilisateurs sont satisfaits.
- Une démarche centrée sur l'architecture
?
· Une architecture adaptée est la clé de
voûte du succès d'un développement.
Elle décrit des choix stratégiques qui
déterminent en grande partie les qualités du logiciel
(adaptabilité, performances, fiabilité...).
· Ph. Kruchten propose différentes perspectives,
indépendantes et complémentaires, qui permettent de
définir un modèle d'architecture (publication IEEE, 1995).
Cette vue ("4+1") a fortement inspiré UML :
Figure2 : Représentation de la vue
4+1
|
|
1.3.1- La vue logique.
Cette vue de bas niveau (aussi appelée "vue de
réalisation"), montre :
· L'allocation des éléments de
modélisation dans des modules (fichiers sources, bibliothèques
dynamiques, bases de données, exécutables, etc.).
· En d'autres termes, cette vue identifie les modules qui
réalisent (physiquement) les classes de la vue logique.
· L'organisation des composants, c'est-à-dire la
distribution du code en gestion de configuration, les dépendances entre
les composants...
· Les contraintes de développement
(bibliothèques externes...).
· La vue des composants montre aussi l'organisation des
modules en
"sous-systèmes", les
interfaces des sous-systèmes et leurs dépendances (avec d'autres
sous-systèmes ou modules).
1.3.2- La vue des composants.
. Cette vue de haut niveau se concentre sur l'abstraction et
l'encapsulation, elle modélise les éléments et
mécanismes principaux du système.
· Elle identifie les éléments du domaine,
ainsi que les relations et interactions entre ces éléments : les
éléments du domaine sont liés au(x) métier(s) de
l'entreprise, *ils sont indispensables à la mission du
système,
26
1.3.3- La vue des processus.
Cette vue organise aussi (selon des critères purement
logiques), les éléments du domaine en
"catégories" :
· pour répartir les tâches dans les
équipes,
· regrouper ce qui peut être
générique,
· isoler ce qui est propre à une version
donnée, etc.
1.3.4- La vue de déploiement.
Cette vue est très importante dans les environnements
multitâches ; elle montre :
· La décomposition du système en terme de
processus (tâches).
· Les interactions entre les processus (leur
communication).
· La synchronisation et la communication des
activités parallèles (threads).
1.3.5- La vue des besoins des
utilisateurs.
Cette vue (dont le nom exact est "vue des cas d'utilisation"),
guide toutes les autres.
· Dessiner le plan (l'architecture) d'un système
informatique n'est pas suffisant, il faut le justifier.Cette vue définit
les besoins des clients du système et centre la définition de
l'architecture du système sur la satisfaction (la réalisation) de
ces besoins.
· A l'aide de scénarios et de cas d'utilisation,
cette vue conduit à la définition d'un modèle
d'architecture pertinent et cohérent.
· Cette vue est la "colle" qui unifie les quatre autres
vues de l'architecture.
· Elle motive les choix, permet d'identifier les interfaces
critiques et
· force à se concentrer sur les problèmes
importants.
1.4- Comment "rédiger" un modèle avec
UML ?
· UML permet de définir et de visualiser un
modèle, à l'aide de diagrammes.
· Un diagramme UML est une représentation
graphique, qui s'intéresse à un aspect précis du
modèle ; c'est une perspective du modèle, pas "le
modèle".
· Chaque type de diagramme UML possède une structure
(les types des éléments de modélisation qui le composent
sont prédéfinis).
27
· Un type de diagramme UML véhicule une
sémantique précise (un type de diagramme offre toujours la
même vue d'un système).
· Combinés, les différents types de
diagrammes UML offrent une vue complète des aspects statiques et
dynamiques d'un système.
Les diagrammes UML supportent l'abstraction. Leur niveau de
détail caractérise le niveau d'abstraction du modèle.
L'abstraction est un des piliers de l'approche objet.
· Il s'agit d'un processus qui consiste à identifier
les caractéristiques intéressantes d'une entité, en vue
d'une utilisation précise.
· L'abstraction désigne aussi le résultat de
ce processus, c'est-à-dire l'ensemble des caractéristiques
essentielles d'une entité, retenues par un observateur.
Avant de passer à la représentation des
diagrammes UML nous jugions nécessaire la présentation des
concepts objets puisque ces diagrammes se fondent essentiellement sur
l'approche objet.
2- Le concept objet
2.1- Définition et caractéristiques de
l'objet
L'objet constitue le concept fondateur de l'approche du
même nom.
· Un objet est une entité aux frontières
précises qui possède une identité (un nom).
· Un ensemble d'attributs caractérise l'état
de l'objet.
· Un ensemble d'opérations (méthodes) en
définissent le comportement.
· Un objet est une instance de classe (une occurrence d'un
type abstrait).
· Une classe est un type de données abstrait,
caractérisé par des propriétés (attributs et
méthodes) communes à des objets et permettant de créer des
objets possédant ces propriétés.
2.2- Les autres concepts objets
Encapsulation.
Elle Consiste à masquer les détails
d'implémentation d'un objet, en définissant une interface..
L'interface est la vue externe d'un objet, elle définit les services
accessibles (offerts) aux utilisateurs de l'objet. L'encapsulation facilite
l'évolution d'une application car elle stabilise l'utilisation des
objets : on peut modifier l'implémentation des attributs d'un objet sans
modifier son interface.
28
Héritage.
Une classe peut être déclarée comme
héritant d'une autre classe. La classe qui hérite
possèdera toutes les propriétés (attributs,
méthodes) de la classe dont elle dérive .Mais en plus elle aura
certaines méthodes particulières.
3- Modélisation des vues statiques et dynamiques
3.1- Les vues statiques
Elles donnent une vue globale sur le système à
modéliser mais elles ne rentrent pas dans les détails
d'implémentation.
3.1.1- Les cas d'utilisation
· Il s'agit de la solution UML pour représenter le
modèle conceptuel,.
· Les use cases permettent de structurer les besoins des
utilisateurs et les objectifs correspondants d'un système.
· Ils centrent l'expression des exigences du système
sur ses utilisateurs : ils partent du principe que les objectifs du
système sont tous motivés.
· Ils se limitent aux préoccupations
"réelles" des utilisateurs ; ils ne présentent pas de solutions
d'implémentation et ne forment pas un inventaire fonctionnel du
système.
· Ils identifient les utilisateurs du système
(acteurs) et leur interaction avec le système.
· Ils permettent de classer les acteurs et structurer
les objectifs du système et servent de base à la
traçabilité des exigences d'un système dans un processus
de développement intégrant UML.
Conceptualisation
Le but de la conceptualisation est de comprendre et structurer
les besoins du client. On ne cherche l'exhaustivité, mais clarifier,
filtrer et organiser les besoins. Une fois identifiés et
structurés, ces besoins :
définissent le contour du système à
modéliser (ils précisent le but à atteindre),
permettent d'identifier les fonctionnalités principales
(critiques) du système.
Le modèle conceptuel joue un rôle central, il est
capital de bien le définir .Il doit permettre une meilleure
compréhension du système et servir d'interface entre tous les
acteurs du projet. Les besoins des clients sont des éléments de
traçabilité dans un processus intégrant UML.
Le modèle conceptuel joue un rôle central, il est
capital de bien le définir.
29
Les Règles Métiers
Elles permettent de déterminer les contraintes
liées au système à modéliser. Elles constituent le
soubassement du logiciel. Dans le souci de donner une vue panoramique et claire
du système d'information, nous avons eu à regrouper les
règles métiers suivants certains critères :
o les règles relatives à l'architecture de la
formation
R1- L'architecture de la formation est fondée sur 3
grades (Licence, Master, doctorat).
R2- Les formations sont organisées en semestres et en UE
capitalisables.
R3- L'unité de base constitutive d'un parcours de
formation est l'UE.
R4- Les enseignements d'une UE peuvent prendre
différentes formes : Cours Magistraux (CM), Travaux Dirigés (TD),
Travaux Pratiques (TP), Travaux de Terrain, Recherche ou combiner ses
différentes formes.
R5- Chaque UE a une valeur définie en crédits
proportionnelle au travail (CM, TD, TP, Stage etc.) que l'étudiant doit
fournir pour la validation de l'UE.
R6- Dans la reforme LMD, le semestre est la durée
périodique des UE de formations contrairement à l'année
universitaire dans le système traditionnel ou ancien.
R7- Les 3 grades sont exprimés en semestre (L pour
6semestres, M pour 4 semestres après L, D au moins 6 semestres).
R8- Le semestre correspond à un volume horaire
établi et mesuré en crédits,
R9- Un crédit correspond à 20 heurs de travail
pour l'étudiant (CM, TD, TP, recherche, Travail personnel).
R10- Un parcours de formation est structuré en UE
obligatoires, optionnelles, ou libres.
o Les Règles relatives au cursus de formation
R1- L'offre de formation est présentée par
domaines déclinés en filières de formation.
R2- Le cursus de Licence est organisé sous forme de
parcours monodisciplinaires, transdisciplinaires et pluridisciplinaires.
R3- Chaque cursus comporte des UE obligatoires, libres et
optionnelles.
R4- Le cursus Master présente 2 voies de finalité
: l'une est celle de la recherche et l'autre est professionnelle.
R5- Le parcours est individuel au niveau de tous les cursus.
o Les règles relatives à l'inscription
pédagogique
R1- L'inscription pédagogique à un semestre
nécessite la satisfaction des prérequis éventuels des UE
le composant.
R2- L'inscription pédagogique est conditionnée par
celle académique.
R3- Un étudiant titulaire du Baccalauréat ou de
son équivalence peut s'inscrire en première année de
Licence LMD.
R4- Un étudiant titulaire d'une Licence peut s'inscrire
en première année de Master LMD.
30
-Les règles relatives aux évaluations et
résultats
R1- Les évaluations et résultats auront lieu dans
les 4 dernières semaines de chaque semestre.
R2- Les étudiants inscrits pédagogiquement sont
évalués une fois semestriellement et ceci pour chaque UE
choisie.
R3- Une UE est définitivement acquise dès que
l'étudiant a obtenu la moyenne requise : il capitalise ainsi les UE
requises jusqu'au moment où il obtient le grade auquel conduisent les
unités choisies.
R4- Pour prétendre valider les UE d'un semestre il faut
que l'étudiant un certain nombre de présentiel et assume une
charge de travail personnel.
Les diagrammes qui suivent présentent l'analyse du
domaine c'est-à-dire le modèle des besoins clients.
3.1.2- Diagrammes des cas d'utilisation.
Ils décrivent les fonctionnalités employées
par les utilisateurs. Il s'agit de la solution UML pour représenter le
modèle conceptuel.
· Les cas d'utilisation (ou use cases en Anglais)
permettent de structurer les besoins des utilisateurs et les objectifs
correspondants d'un système.
· Ils centrent l'expression des exigences du système
sur ses utilisateurs : ils partent du principe que les objectifs du
système sont tous motivés.
· Ils se limitent aux préoccupations
"réelles" des utilisateurs ; ils ne présentent pas de solutions
d'implémentation et ne forment pas un inventaire fonctionnel du
système.
· Ils identifient les utilisateurs du système
(acteurs) et leur interaction avec le système.
· Ils permettent de classer les acteurs et structurer les
objectifs du système.
· Ils servent de base à la traçabilité
des exigences d'un système dans un processus de développement
intégrant UML.
Les cas d'utilisation, permettent de modéliser les
besoins des clients d'un système et ne doivent chercher
l'exhaustivité, mais clarifier, filtrer et organiser les besoins. Une
fois identifiés et structurés, ces besoins définissent le
contour du système à modéliser (ils précisent le
but à atteindre) et permettent d'identifier les fonctionnalités
principales (critiques) du système.
Ils ne doivent donc en aucun cas décrire des solutions
d'implémentation. Leur but est justement d'éviter de tomber dans
la dérive d'une approche fonctionnelle, où l'on liste une litanie
de fonctions que le système doit réaliser. Mais un modèle
conceptuel qui identifie les besoins avec un plus grand niveau d'abstraction
reste indispensable. Avec des systèmes complexes, filtrer l'information,
la simplifier et mieux l'organiser, c'est rendre l'information exploitable.
31
La sémantique
Acteur : entité externe au
système qui interagit avec le système.
Use case (cas d'utilisation):
ensemble d'actions réalisées par le système, en
réponse à une action d'un acteur.
Relation d'utilisation (« include ») :
le cas d'utilisation source contient aussi le comportement
décrit dans le cas d'utilisation destination.
Relation d'extension (« extends ») :
le cas d'utilisation source étend (précise) les
objectifs (comportements) du cas d'utilisation destination.
Package : regroupe les éléments
de modélisation suivant des critères purement
logiques.
Note ou documentation : documente un
élément du modèle.
A présent nous allons donner une vue des diagrammes de
cas d'utilisation réalisés.
32
Figure 3 : Cas Inscription
Pédagogique
33
Gestion des unités d'enseignement dans le cadre de la
reforme LMD à l'Université de Lomé
Figure 4 : s Mise à jour de
données Cas de mise à jour
Les diagrammes qui suivent présentent de manière
schématique les cas d'utilisation liés à un
étudiant.
Figure 5 :Autres cas liés à
l'étudiant
Présenté et soutenu par Komi Klenam
ADJAFO-TRETU
34
Les diagrammes qui vont suivre présentent l'analyse
applicative et la conception. On modélise les aspects informatiques et
les rouages d'implémentation et on optimise les modèles.
3.1.3- Diagrammes des classes.
Ils représentent la structure des entités du
système.
Un diagramme de classes est une collection
d'éléments de modélisation statiques (classes,
paquetages...), qui montre la structure d'un modèle. Un diagramme de
classes fait abstraction des aspects dynamiques et temporels.
· Pour un modèle complexe, plusieurs diagrammes
de classes complémentaires doivent être construits.
On peut par exemple se focaliser sur :
o les classes qui participent à un cas d'utilisation (cf.
collaboration), o les classes associées dans la réalisation d'un
scénario précis,
o les classes qui composent un paquetage,
La sémantique
Attributs : c'est l'ensemble des informations
se présentant sous forme de variables et permettant de
représenter l'état de l'objet.
Méthodes ou opérations : C'est
une fonction liée à un objet.
Expression des cardinalités d'une relation en UML
:
n : exactement "n" (n, entier naturel > 0)
n..m: de "n" à "m" (entiers naturels ou variables, m >
n)
* : plusieurs (équivalent à "0..n" et "0..*")
n..*: "n" ou plus (n, entier naturel ou variable).
Dépendance: relation d'utilisation
unidirectionnelle et d'obsolescence(une modification de l'élément
dont on dépend, peut nécessiter une mise à jour de
l'élément dépendant). La flèche non pleine
représente l'héritage
Association n-aire : il s'agit d'une
association qui relie plus de deux classes.
Classe d'association : il s'agit d'une classe
qui réalise la navigation entre les instances d'autres classes. Elle est
représentée avec des pointillés .
Nous avons présenter premièrement les classes
documentées et ensuite le diagramme de classes présentant
l'analyse finale suite à certaines modifications apportées aux
différentes classes dégagées.
35
Figure 6 :La documentation des
classes.
36
Présenté et soutenu par Komi Klenam
ADJAFO-TRETU
37
Présenté et soutenu par Komi Klenam
ADJAFO-TRETU
La documentation des classes.
38
Présenté et soutenu par Komi Klenam
ADJAFO-TRETU
Présenté et soutenu par Komi Klenam
ADJAFO-TRETU
Suite et fin figure6 39
3.1.4-Diagrammes de déploiements
Ils représentent le réseau informatique supportant
le système et la manière dont les composants y sont
installés.
Sémantique
Relation entre les composants
Par souci de sécurité du réseau
Un établissement
CIC/CAFMICRO
Composant
Figure7 : Déploiement de
l'application
40
41
Figure8 : Diagramme de collaboration
Présenté et soutenu par Komi Klenam
ADJAFO-TRETU
3.2- Les vues dynamiques.
3.2.1- Diagrammes de collaboration
Ils représentent les échanges de messages entre
les objets.
· Les diagrammes de collaboration montrent des interactions
entre objets (instances de classes et acteurs).
· Ils permettent de représenter le contexte d'une
interaction, car on peut y préciser les états des objets qui
interagissent
La sémantique
Les diagrammes de collaboration se basent sur la notation des
cas d'utilisation, les classes et les objets qui ne sont que l'instanciation
des classes.
3.2.2- Diagramme de séquence
· Les diagrammes de séquences permettent de
représenter des collaborations entre objets selon un point de vue
temporel, on y met l'accent sur la chronologie des envois de messages.
· Les diagrammes de séquences peuvent servir
à illustrer un cas d'utilisation.
· L'ordre d'envoi d'un message est déterminé
par sa position sur l'axe vertical du diagramme ; le temps s'écoule "de
haut en bas" de cet axe.
· La disposition des objets sur l'axe horizontal n'a pas de
conséquence pour la sémantique du diagramme.
· Les diagrammes de séquences et les diagrammes
d'état-transitions sont les vues dynamiques les plus importantes
d'UML.
Sémantique
La représentation fait recourt à la
sémantique des cas d'utilisation et de l'instanciation anonymes des
classes.
En plus de cela on note également la ligne de vie d'un
objet qui désigne la durée d'existence c'est-à-dire le
délai entre la création et la destruction de l'objet.
La notion de message intervient également dans la
notation des diagrammes de séquence. Il désigne le flux
d'informations échangées entre deux objets à un certain
moment de leur existence.
|
|
Message
|
| | | ligne de vie
|
|
|
|
Création d'un objet : nom de l'objet Destruction d'un
objet : nom de l'objet
42
Figure9 : Séquence pour l'inscription
pédagogique
43
Figure10 : Séquences Inscriptions, Evaluations,
Résultats, Affectation à une filière
3.2.3- Diagrammes d'Etats-transitions.
· Ce diagramme sert à représenter des
automates d'états finis, sous forme de graphes d'états,
reliés par des arcs orientés qui décrivent les
transitions.
44
·
Les diagrammes d'états-transitions permettent de
décrire les changements d'états d'un objet ou d'un composant, en
réponse aux interactions avec d'autres objets/composants ou avec des
acteurs.
· Un état se caractérise par sa durée
et sa stabilité, il représente une conjonction instantanée
des valeurs des attributs d'un objet.
· Une transition représente le passage
instantané d'un état vers un autre.
· Une transition est déclenchée par un
événement. En d'autres termes : c'est l'arrivée d'un
événement qui conditionne la transition.
· Les transitions peuvent aussi être automatiques,
lorsqu'on ne spécifie pas l'événement qui la
déclenche.
· En plus de spécifier un événement
précis, il est aussi possible de conditionner une transition, à
l'aide de "gardes" : il s'agit d'expressions booléennes,
exprimées en langage naturel (et encadrées de crochets).
Sémantique
La fin d'un scénario est représentée par le
point inverse.
Les diagrammes qui suivent décrivent les changements
d'états des objets en réponse aux interactions avec d'autres
objets.
45
Figure 11 : Etats-Transitions Enseignement, Evaluations,
Résultat ( de l'étudiant)
En raison des soucis de pages notre diagramme est scindé
et les points de raccordement sont 1 et 2 entourés de cercle.
46
Suite Figure 11 : Etats-Transitions Etudiant ayant
validé ou non une UE
Suite et fin Figure 11 : Etats-Transitions Etudiant
inscrit académiquement
3.2.4- Diagrammes d'activités
Ils illustrent le chaînage des activités dans le
système.
· UML permet de représenter graphiquement le
comportement d'une méthode ou le déroulement d'un cas
d'utilisation, à l'aide de diagrammes d'activités (une variante
des diagrammes d'états-transitions).
· Une activité représente une
exécution d'un mécanisme, un déroulement d'étapes
séquentielles.
· Le passage d'une activité vers une autre est
matérialisé par une transition.
· Les transitions sont déclenchées par la fin
d'une activité et provoquent le début immédiat d'une autre
(elles sont automatiques).
48
En théorie, tous les mécanismes dynamiques
pourraient être décrits par un diagramme d'activités, mais
seuls les mécanismes complexes ou intéressants méritent
d'être représentés.
Il est possible de synchroniser les transitions à l'aide
des "barres de synchronisation" (comme dans les diagrammes
d'états-transitions). Une barre de synchronisation permet d'ouvrir et de
fermer des branches parallèles au sein d'un flot d'exécution :
· Les transitions qui partent d'une barre de
synchronisation ont lieu en même temps.
· On ne franchit une barre de synchronisation
qu'après réalisation de toutes les transitions qui s'y
rattachent.
Couloirs d'activités.
Afin d'organiser un diagramme d'activités selon les
différents responsables des actions représentées, il est
possible de définir des "couloirs d'activités".
Il est même possible d'identifier les objets principaux,
qui sont manipulés d'activités en activités et de
visualiser leur changement d'état.
Sémantique
Les points noirs désignent le début et la fin d'une
activité.
Couloir d'activité
Cas d'utilisation
|
|
|
|
|
|
|
|
action
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fin d'une transition
|
|
49
Présenté et soutenu par Komi Klenam ADJAFO-TRETU
Gestion des unités d'enseignement dans le cadre de la
reforme LMD à l'Université de Lomé
Figure12 : Activités liées à la
demande d'attestation ou de diplôme par un étudiant
50
Figure13 : Activités liées à
lenseignement et lévaluation
Après avoir donné une représentation en
termes de diagramme des vues statiques et dynamiques nous allons aborder la
programmation proprement dite.
51
CHAPITRE III :
Programmation
1- Le concept du Libre.
2- Choix des outils
3- Captures d'écran
|
52
Présenté et soutenu par Komi Klenam ADJAFO-TRETU
La programmation informatique de manière simple et non
simpliste est l'action d'écrire un programme dans un langage de
programmation, en vue de son exécution par un ordinateur. Elle consiste
à fractionner le problème à résoudre en
instructions codifiées acceptables par un ordinateur.
D'une manière beaucoup plus générale c'est
l'ensemble des activités permettant de passer du problème
à résoudre au programme opérationnel.
Or, nous avons opté dans le cadre de notre stage pour une
modélisation UML du projet. C 0e qui fait fortement recours aux concepts
objets.
Dans cette vision notre programmation est essentiellement
orientée objet c'est-à-dire la modélisation des
entités du monde réel ou des entités logiques par des
objets s'échangeant des services par message. Il est d'autant plus
nécessaire de préciser que nous étions guidés lors
de la réalisation de ce projet par l'idée du « libre ».
Et pour arriver à cette fin il a été pour nous d'une
grande utilité de choisir les outils informatiques bien adaptés
à la programmation objet ou par objets.
Ce chapitre sera subdivisé en cinq (4) parties. Nous
présenterons au prime abord le concept du « Libre » et les
autres concepts qui sont en rapport ou découlent de ce dernier. Ensuite
il sera question de la présentation et la description succinctes des
outils utilisés dans la réalisation et la mise en ceuvre de ce
projet. En fin de compte nous décrirons les divers langages de
programmation et des captures d'écrans de quelques interfaces du
logiciel réalisé.
1-Le Concept du libre
Le marché du libre ne constitue pas un mirage à
la pérennité douteuse. Savamment construit au fil du temps,
initié véritablement dans le milieu des années 1980, il
dispose aujourd'hui de tous les éléments pour s'introduire dans
le monde professionnel par la grande porte. A la fois supporté et
supportant le monde de l'Internet, le libre s'inscrit en parfaite
adéquation avec la montée en puissance de la valeur de
l'information dans tous les secteurs. Le savoir et le partage de celle-ci sont
aujourd'hui devenus stratégiques pour toute organisation. Le libre et
l'Internet y contribuent donc pleinement.
1.1-Origine du Logiciel libre
· Jusqu'à la fin des années soixante, les
codes sources étaient ouverts mais les standards demeuraient
propriétaires. A cette époque, la diffusion et l'utilisation
d'outils informatiques étaient alors réservés
à un public averti et très restreint
essentiellement composé de scientifiques et de chercheurs.
Logiciel et matériel étaient alors
indissociables.
· En 1969, deux ingénieurs créent au sein des
laboratoires Bell, le système d'exploitation Unix. Il est
multi-tâches, multi-utilisateurs et très stable.
Logiciel et matériel deviennent dorénavant indépendants
entre eux. Les standards restent toujours propriétaires mais le code
source demeure ouvert.
53
· De par sa position de « chef d'orchestre »,
le système d'exploitation se doit d'être le plus
standardisé et le plus ouvert pour des questions
d'interopérabilité. Or, Unix représente un
développement non
coordonné et possède une série de variantes
avec de nombreux problèmes de portabilité longs et coûteux.
Cette situation, à la longue, ne peut perdurer.
· Durant les années quatre-vingt, l'informatique
commence à se diffuser auprès du grand public néophyte.
Créant un nouveau métier, les éditeurs de logiciels
imposent des standards et des codes sources fermés. En 1984,
réagissant à cette situation, Richard Stallman crée la
Free Software Foundation. Il lance alors le projet GNU, un système
informatique complet libre. Son objectif est de construire le monde de
l'Informatique Libre.
En 1992, des doutes sont émis par AT&T sur la
légitimité des droits de l'Université Californienne
de Bekerley sur BSD, la version libre d'Unix. Les
développements autour du noyau BSD
s'amenuisent.
· En 1994, la première version complète d'un
système d'exploitation libre avec un noyau Linux est
disponible. GNU/Linux1.0 surprend par sa qualité, son
optimisation. Il connaît depuis un succès
planétaire. Les premières sociétés
commerciales du libre se créent alors.
· De 1995 à 2000, les principaux projets phares
du libre sont lancés. Internet et le logiciel libre commencent à
connaître des interdépendances de plus en plus fortes.
· En 1997, les financiers s'intéressent au monde du
libre et plus particulièrement à la solution GNU/Linux. Un
nouveau mouvement se crée alors : « l'Open Source ». Le terme
se révèle plus attrayant dans un univers marchand. Il s'impose
très rapidement auprès de milieux financiers et de la presse. A
partir de ce moment là, deux courants de pensées du libre vont
coexister.
· Les notions de standard ouvert et de logiciel libre
deviennent une évidence, dans un monde où les
barrières temporelles et spatiales sont désormais
abolies.
1.2- Les differnts types de
logiciels
L'ensemble de l'activité logicielle peut être
segmenté en plusieurs couches, correspondant aux différentes
niveaux intermédiaires entre les ressources du matériel et le
service des utilisateurs. Elle est décrite comme suit :
Logiciels systèmes et réseaux ((OS, gestion de
réseaux etc.)29%) ; Middlewares (ensemble des outils logiciels assurant
la réutilisabilité et la tolérance à
l'hétérogénéité de plusieurs
différents logiciels ( 19%) ;
Les applicatifs : logiciels assurant les fonctions directement
exigées par les utilisateurs ( 52%).
54
2- Choix des outils.
2.1- Critères de choix des
outils
La réussite d'un projet de développement passe
vraisemblablement par le choix de bons outils. On sous-entend par bons outils,
des outils adaptés aux diverses activités couvrant tout le cycle
de développement de l'application ou de réalisation du projet.
Cette exigence est d'autant plus forte dans le domaine
informatique où les Technologies de l'Information et de la Communication
(T.I.C) par leur évolution permanente, imposent un rythme particulier
aux travaux effectués dans ce secteur.
En PHP, comme dans n'importe quel autre langage de
programmation, il faut et il apparaît comme une nécessité
de se munir d'un éditeur de scripts simple d'utilisation, rapide et
permettant la coloration syntaxique nécessaire à la lecture du
code source.
De nombreuses fonctionnalités permettent de faciliter
de façon optimale le travail des développeurs d'applications et
de ce fait la durée de développement est par conséquente
réduite.
Ainsi le choix des outils ne doit pas être une question de
mode. Mais plutôt il doit être guidé par des soucis :
-ergonomique : ergonomie de l'interface utilisateur et
facilité d'utilisation, -coloration syntaxique : coloration de
la syntaxe du langage PHP,
-auto-complétion : l'éditeur est capable
de finir l'écriture d'une balise en cours d'écriture,
-indentation automatique : espaces et tabulations du
code, etc.
-numérotation des lignes : l'éditeur
affiche les numéros de lignes,
-gestion de projet : possibilité de créer
un projet de plusieurs fichiers avec un environnement particulier,
-macros : possibilité de définir et
d'exécuter des macros utilisateurs, -raccourcis clavier :
possibilité de définir des raccourcis claviers
personnalisés,
-puissantes fonctions textes : fonctions de recherche
et de remplacement évoluées (sur plusieurs fichiers, expressions
régulières...),
-vérification syntaxique : l'éditeur
vérifie la validité de la syntaxe du code, -documentation
intégrée : documentation, guide et aide inclus permettant
l'autoformation,
-explorateur de fichiers : un espace d'exploration de
fichiers permet l'ouverture rapide des fichiers,
- explorateur de fonctions : un espace d'exploration de
fonctions permet de naviguer facilement parmi les fonctions d'un même
script,
- plugins : possibilité de rajouter des plu gins
à l'éditeur pour en étendre les fonctionnalités,
-débuggeur : débuggeur
intégré,
-FTP : client FTP intégré à
l'éditeur de code source,
- popularité : l'engouement des personnes
utilisant l'outil,
55
-licence, prix : copyright appliqué à
l'outil ou prix de la version complète, -version :
numéro de la version à utiliser, et
-langue : langue de l'interface (de
préférence deux langues que le développeur
maîtrise).
2.2- Presentation et justification des outils de
programmation.
En se basant sur les critères
précédents, il s'impose indispensablement à nous de
décrire succinctement les outils de programmation utilisés au
cours de notre stage.
WEBEXPERT.
C'est un puissant logiciel propriétaire
d'édition web. Ce produit de Visicom Media permet de concevoir et
gérer les pages d'une application ou site web de manière
professionnelle en toute simplicité. Grâce à une interface
ergonomique et un éventail impressionnant d'outils riches en
fonctionnalités, Web Expert procure une parfaite maîtrise de la
conception web. Il permet d'avoir le plein contrôle sur tous les
standards du web comme le HTML, le JavaScript, les CSS, le ASP et le PHP qui a
été notre principal langage de programmation.
NOTEPAD++.
C'est un éditeur de texte libre
générique qui intègre la coloration syntaxique. Il
édite les codes sources et supporte comme Web Expert plusieurs langages
(PHP, ASP, Javascript, HTML et XML) .Développé en C++, il demeure
un éditeur de code source (( petit (( de part sa taille (taille binaire)
et efficace (performance d'exécution). Rappelons que ce programme fort
utile sous Windows constitue une alternative au traditionnel (( Bloc-notes
» qui ne comporte pas la coloration syntaxique. Il offre contrairement au
Bloc-notes la possibilité de définir un langage, l'auto
complétion, le multi document (possibilité d'éditer
plusieurs documents à la fois grâce à des onglets).
En plus de ces deux outils qui ont servi utilement pour le
codage, il importe de rajouter d'autres outils tels les serveurs de logiciel
qui représentent des plates-formes de développement.
Au début du développement logiciel, nous avions
opté pour EasyPHP1-8, mais par la suite c'est sous WAMP5 que les tests
ont été réalisés .Il faut préciser que le
progiciel tourne sur les deux plates-formes.
A présent nous allons décrire et présenter
ces deux serveurs de logiciel.
WAMP5 1.4.5.
On entend généralement par WAMP (Windows Apache
MySQL PHP) .
56
C'est l'alternative Windows de LAMP(Linux APACHE MySQL
PHP).C'est une plate-forme libre disposant en plus des fonctionnalités
de EasyPHP1-8 d'autres fonctionnalités liées aux
évolutions des logiciels intégrés ainsi que
l'incorporation d'un autre outil d'administration de bases de
données.
Il est distribué avec comme logiciels
intégrés Apache1.3.33, MySQL 4.1.13a et PHP5. Mise à part
PhpMyAdmin 2.6.3-pl, un autre outil d'administration de base de données
SQLite désigné SQLite Manager 1.1.1 est aussi livré avec
le paquet WAMP5.
Son principal but est de permettre à la
communauté PHP de découvrir la nouvelle version de PHP (notamment
la version 5) qui offre des nouveautés intéressantes de la
Programmation Orientée Objet (P.O.O).
2.3- Justification et présentation de quelques
logiciels libres utilisés dans la mise en ceuvre de notre logiciel.
De même que la variété des mets fait
l'agrément d'un festin, une diversité similaire a
présidé à la réalisation de ce logiciel.
Les lignes qui suivent décrivent les différents
logiciels « libres » qui nous ont été d'un apport
capital dans la réalisation et la mise en ceuvre de notre
application.
FCK Editor
Cet éditeur de texte de HTML apporte à
l'enchaînement plusieurs des fonctionnalités puissantes des
rédacteurs de bureau comme la MME mot.
Il est léger et n'exige pas n'importe quel genre
d'installation sur l'ordinateur du client. Ce programme petit mais très
puissant permet de mettre en place sur un site Internet ou Intranet ou bien
local un traitement de texte accessible via un navigateur. Il possède
les options basiques tels que l'alignement, paragraphe, les polices, les
tableaux ...
Les sauvegardes ne se font pour le moment qu'en HTML ou TXT.
Pour une utilisation en Local, FCK Editor nécessite un
serveur logiciel comme Apache. Nous l'avons utilisé pour
présenter le tableau de messagerie devant permettre aux utilisateurs
d'échanger des messages.
JP Graph
C'est une bibliothèque pour PHP dans une version
supérieure ou égale à 4.3.1. Cette bibliothèque est
entièrement écrite en PHP. Elle permet de créer plusieurs
graphiques en ligne ou localement et de manière dynamique ou non. JP
Graph rend de ce fait facile le tracé de graphes avec quelques lignes de
code même les plus complexes qui exigent une commande granuleuse
très fine. La bibliothèque assigne donc à un contexte des
valeurs par défaut sensibles pour la plupart des paramètres qui
réduisent au minimum la courbe d'étude.
Son utilité dans notre application est la
génération dynamique de graphes montrant l'évolution
comparative des unités d'enseignements ou des filières ou des
étudiants sur un semestre universitaire.
DIA
C'est le logiciel qui nous a permis de réaliser les
diagrammes.
57
2.4- Justification des langages de programmation
Après avoir conçu un algorithme pour les
différents modules développés dans cette application ,
notre souci secondaire a été le choix du langage de programmation
qui devrait nous permettre de réaliser un logiciel acceptable et
répondant aux critères minimum du génie logiciel .
Etant donné que notre analyse est orientée objet,
il nous est paru avantageux de programmer le logiciel avec un langage
orienté objet.
Quel langage faut-il donc choisir ? C'est ainsi que suite
à des recherches sur les nombreux sites réservés à
la programmation, nous avons retenu le PHP et les autres langages tels que CSS,
JavaScript, et HTML sans oublier le système de gestion de base de
données MySQL et le serveur web Apache qui répondent au contexte
du « Libre ».
PHP Présentation du PHP
Le PHP a été notre principal langage de
programmation. Comme définition nous pourrions retenir que PHP est un
langage interprété (un langage de script) exécuté
du côté serveur (comme les scripts CGI, ASP...) et non du
côté client (un script écrit en Javascript ou une applet
Java s'exécute sur un ordinateur...).
Historique de PHP
Le langage PHP a été mis au point au
début d'automne 1994 par Rasmus Lerdorf. C'est un langage
incrusté au HTML et interprété (PHP3) ou compilé
(PHP4).
Ce langage de script lui permettait de conserver la trace des
utilisateurs venant consulter son CV sur son site, grâce à
l'accès à une base de données par l'intermédiaire
de requêtes SQL. Etant donné que son code source est ouvert,
gratuit et supportant par surcroît tous les standards du Web, il s'est
rapidement répandu sur la toile et est devenu un projet collectif. C'est
justement cet aspect qui fera du PHP un langage populaire par excellence du
Web.
Le fulgurant succès de PHP 1.0 devient donc un gage
pour l'auteur .Ainsi, Rasmus Lerdorf décida d'améliorer ce
langage en y intégrant des structures plus avancées telles que
des boucles, des structures conditionnelles, et y intégra un package
permettant d'interpréter les formulaires qu'il avait
développé (FI, Form Interpreter) ainsi que le support de
mSQL. C'est de cette façon que la version 2 du langage, baptisée
pour l'occasion PHP/FI version 2, vit le jour durant
l'été 1995. Il fut rapidement utilisé sur de nombreux
sites (15000 fin 1996, puis 50000 en milieu d'année 1997).
A partir de 1997, deux étudiants Zeev Suraski et Andi
Gutmans rejoignirent Rasmus pour former une équipe de programmeurs
suite). C'est ainsi que le résultat donna le Zend Engine le tout
nouveau cceur de PHP/FI qui devient la
58
version 3.0 de PHP .Il fut disponible le 6 juin 1998.
Soulignons que c'est cette version 3 qui a été baptisée
Hypertext Preprocessor (acronyme maintenu jusqu'à la période de
notre stage)
A la fin de l'année 1999 la version 4.0 de PHP,
désignée PHP4, est apparue.
Il existe par ailleurs plusieurs applications Web
prêtes à l'emploi (PHPNuke, PHPWebsite, PHPShop...) permettant de
monter gratuitement, facilement et rapidement son portail. Par cette grande
percée non seulement auprès des Web designers PHP s'est
imposé comme le numéro un du Web.
La version 5.0.0 de PHP est sortie le 13 Juillet 2004: elle
utilise Zend Engine 2 et introduit une programmation orientée
objet plus efficace et plus complète, ainsi que fonctionnalités
de gestion pour les entreprises.
ATOUTS DE PHP
Il est connu de tous que PHP rencontre un succès
considérable.
Mais qu'est ce qui fait de PHP le langage Web le plus
préféré du moment ? Ses principaux atouts sont:
* L'existence de plusieurs outils libres permettant le
développement rapide d'une application basée sur PHP.
. La gratuité, le libre accès à son code
source et sa programmation
intuitive;
. De nombreux sites lui sont consacrés, on y trouve des
astuces, des
concours et des stages ;
· Une grande communauté de développeurs
partageant des centaines de milliers d'exemples de script PHP ;
· La gratuité et la disponibilité du code
source (PHP est distribué sous licence GNU/ GPL)*;
· La simplicité d'écriture de scripts surtout
avec cette possibilité permettant d'inclure un ou plusieurs
fichier(s) dans un autre fichier ;
· La possibilité d'inclure le script PHP au sein
d'une page HTML (contrairement aux scripts CGI, pour lesquels il faut
écrire des lignes de code pour afficher chaque ligne en langage HTML)
;
.La simplicité d'interfaçage avec des bases de
données (de nombreux SGBD sont supportés, mais le plus
utilisé avec ce langage est MySQL, un SGBD gratuit disponible sur de
nombreuses plateformes : Unix, Linux, Windows, MacOs X, Solaris, etc.) ;
· L'intégration au sein de nombreux serveurs Web
(Apache, Microsoft IIS, etc.).
59
HTML Présentation du
HTML
Le HTML (« HyperText Mark-Up Language »)
est un langage dit de « marquage » (de « structuration » ou
de « balisage ») dont le rôle est de formaliser
l'écriture d'un document avec des balises de formatage. Les balises
permettent d'indiquer la façon dont doit être
présenté le document et les liens qu'il établit avec
d'autres documents.Il permet en particulier d'insérer des hyperliens du
texte, donc de créer l'hypertexte, d'où le nom du langage.
Historique HTML.
Le langage HTML a été mis au point par Tim
Berners-Lee, alors chercheur au CERN, à partir de 1989. Celui-ci
annonça officiellement la création du web sur Usenet en
août 1991. Ce n'est cependant qu'à partir de 1993 que l'on
considère l'état du HTML suffisamment avancé pour parler
de langage (HTML est alors baptisé symboliquement HTML 1.0). Le
navigateur Internet utilisé à l'époque était
nommé NCSA Mosaïc.
Le RFC 1866, daté de novembre 1995 représente la
première version officielle de HTML, c'est-à-dire le HTML 2.0.
Après la brève apparition d'un HTML 3.0, qui ne
vit jamais officiellement le jour, le HTML 3.2 devint le standard officiel le
14 janvier 1997. Les apports les plus marquants du HTML 3.2 étaient la
standardisation des tableaux ainsi que d'un grand nombre
d'éléments de présentation.
Le 18 décembre 1997, le HTML 4.0 a été
publié.
Avantages de HTML
Un document HTML peut être affiché sur n'importe
quel type d'ordinateur, notamment un Macintosh ou un poste compatible IBM.
Conséquence : vous n'avez pas à créer de documents HTML
différents pour les divers types d'ordinateurs (standard). Par ailleurs,
les documents HTML renfermant exclusivement du texte, leur chargement sur le
Web est rapide.
JAVASCRIPT Présentation
du Javascript.
JavaScript est, comme son nom l'indique, un langage de
scripts. De ce point de vue, il est d'un apprentissage simple et
rapide et permet à des programmeurs débutants de
réaliser leurs premières pages Web sous une forme
particulièrement attractive et fonctionnelle.
60
· Mais, JavaScript est aussi un langage de
programmation à part entière, permettant de réaliser
des applications complexes dès que l'on a acquis une connaissance
suffisante du langage et de ses diverses possibilités.
Historique du Javascript
A l'origine, il se nommait Live Script et était
destiné à fournir un langage de script simple au navigateur
Netscape Navigator 2. Il a à l'époque longtemps
été critiqué pour son manque de sécurité,
son développement peu poussé et l'absence de messages d'erreur
explicites rendant dure son utilisation. Le 4 décembre 1995, suite
à une association avec le constructeur Sun, Netscape rebaptise
son langage Javascript .A la même
époque, Microsoft mit au point le langage Jscript, un langage
de script très similaire. Ainsi, pour éviter des dérives
de part et d'autre, un standard a été défini pour
normaliser les langages de script, il s'agit de l'ECMA 262,
créé par l'organisation du même nom (ECMA, European
Computer Manufactures Association).
Avantages de JavaScript
-Il s'intègre facilement aux pages HTML et PHP pour
permettre la création des menus, de petites animations ou interagir avec
l'utilisateur.
-Il s'exécute sur plusieurs navigateurs du
côté client..
-Il permet également d'accroître le taux
d'interaction d'une application ou d'un site web.
Présentation des CSS
Les feuilles de styles CSS (Cascading Style Sheets en
français feuilles de style en cascade) sont l'un des gages de
qualité de toute conception web moderne : on peut grâce à
elles créer des sites élégants et légers, conformes
aux standards du Web et accessibles à tous. Elles ont été
mises au point afin de compenser les manques du langage HTML en ce qui concerne
la mise en page et la présentation. Avec l'érosion du monopole
d'Internet Explorer et tout récemment de Mozilla firefox, il est devenu
capital de concevoir des sites compatibles tous navigateurs, conformes aux
standards du W3C(World wide Web Consortium) et séparant parfaitement le
contenu de la présentation.
Historique des CSS
Le concept de feuilles de style est apparu en 1996. Le
principe des feuilles de style consiste à regrouper dans un même
document des caractéristiques de mise en forme associées à
des groupes d'éléments. Il suffit de définir par un nom un
ensemble de définitions et de caractéristiques de mise en forme,
et de
61
l'appeler pour l'appliquer à un texte. Il est ainsi
possible de créer un groupe de titres en police Arial, de couleur verte
et en italique.
Depuis le 12 mai 1998, la norme CSS 2.0 est le standard en
vigueur. La norme CSS2 apporte un grand nombre de nouvelles
fonctionnalités par rapport à la précédente norme
(1.0).
Avantages des CSS
Les feuilles de style permettent notamment :
· d'obtenir une présentation homogène sur
tout un site ou application web en faisant appel sur toutes les pages
à une même définition de style ;
· de permettre le changement de l'aspect d'un site ou
application entier par la seule modification de quelques lignes ;
· une plus grande lisibilité du HTML, car les styles
sont définis à part ;
· des chargements de page plus rapides, pour les
mêmes raisons que précédemment ;
· un positionnement plus rigoureux des
éléments qui composent les pages.
2.5-Présentationet justification du serveur de base
de données:MySQL.
Depuis quelques années PHP/MySQL est devenu le couple
le plus mythique du Web .Et ceci pour des raisons très claires et
diversement motivées. On doit ce succès sans
précédent dans le monde informatique aux développeurs
d'applications libres qui ont su par leur habileté et leur sens aigu de
créativité développer d'un côté PHP et de
l'autre MySQL ; mais aussi et surtout aux utilisateurs qui les ont su
apprécier à leur juste valeur. Ce sont donc ces succès qui
restent en tout point motivant qui ont favorisé cet essor et ce mariage
efficace entre PHP et MySQL dont nous avons usé précieusement
dans la réalisation de ce projet. Mais avant toutes choses il nous
parait important de définir préalablement les (( Bases de
Données » et les (( Systèmes de gestion des Bases de
Données ».
2.5.1- Bases de Données et Système de Gestion de
Base de Données.
Les Bases de Données sont actuellement le noyau de tous
systèmes d'information dans les entreprises. Les SGBD, initialement
disponibles uniquement sur les (( mainframes », peuvent maintenant
être installés sur tous les types d'ordinateurs y compris les
ordinateurs personnels (Personal Computer (PC) en anglais). Mais souvent on
désigne, par abus de langage sous le nom de (( Base de Données
» des ensembles de données qui n'en sont pas.
Qu'est-ce donc qu'une base de données ? Et que peut-on
attendre d'un système de gestion de base de données ?
Dans un premier temps, et de façon informelle, on peut
considérer une base de données comme une grande quantité
de données, centralisées ou non, servant pour les besoins d'une
ou plusieurs applications, interrogeables et modifiables par un groupe
d'utilisateurs donc accessibles en permanence ou non à ces derniers qui
travaillent en parallèle. Quant au Système de Gestion de Base
de
62
Données( en abrégé S.G.B.D),il peut
être appréhendé comme un logiciel qui prend en charge la
structuration, le stockage ,la mise à jour et la maintenance des
données. Autrement dit les SGBD gèrent les bases de
données en cachant aux programmeurs utilisateurs la complexité
des implantations physiques en mémoires secondaires pour leur donner une
vision logique permettant un accès facile et contrôlé par
des droits d'accès. C'est en fait l'interface entre la base de
données et les utilisateurs ou leurs programmes.
Les objectifs principaux qui guident la mise au point d'une base
de données sont : *l'indépendance logique et physique des
données,
*la cohérence des données stockées,
*la non redondance des données,
*la partageabilité des données, et
*la sécurité des informations.
Pour finir doit-on retenir que la conception des
systèmes d'information implique indéniablement la conception de
bases de données modélisant les réalités d'une
entreprise en fonction des besoins utiles du système d'information.
2.5.2- Définition et présentation du
système de gestion de base de données: MySQL
Dans le souci de mettre en ceuvre une application conciliant
les exigences d'une application à architecture Client/Serveur et web
notre choix a porté sur MySQL un SGBD libre tant sous Linux que Windows.
Il dérive directement de SQL (Structured Query Language) qui est un
langage de requête vers les bases de données. Il en reprend la
syntaxe mais n'en conserve pas toute la puissance puisque de nombreuses
fonctionnalités de SQL n'apparaissent pas dans MySQL
(sélections imbriquées, clés
étrangères, etc.). Toutefois on note certains manquements : il ne
permet pas la gestion des transactions, des procédures stockées,
des intégrités de références, et ne supporte non
plus les requêtes imbriquées, et la charge (40 à 50
connections concurrentes) comme le fait PostgreSQL un de ses concurrents dans
le monde des SGBD.
En dépit de ces inconvénients qui sont
masqués la plupart des temps par de multiples avantages, MySQL demeure
un SGBD indiscutable et très réputé pour sa forte
présence dans le domaine des bases de données.
MySQL offre comme avantages principaux :
*sa compatibilité donc sa fréquente utilisation
avec le langage de création de pages web dynamiques PHP,
*sa caractéristique d'être multiutilisateurs et
multitraitements,
*il possède un optimisateur de jointures. Par
conséquent il offre une étonnante rapidité de traitement
des requêtes.
*MySQL réserve des espaces considérables
(jusqu'à 4 Go et même plus) pour la gestion de données par
table.
*il existe plusieurs outils tels que PHPMyadmin et Eskuel
permettant d'administrer une base de données MySQL,
*plusieurs sites web lui sont consacrés. De ce fait il
bénéficie d'une large documentation et d-importants groupes de
discussion qui favorisent les échanges entre les membres de la
communauté qui l'utilise.
63
64
* de plus il est multilingue et est doté d'un
système de droit qui favorise l'authentification qui relève le
niveau de sécurité.
* En fin, MySQL présente une facilité
d'installation puisqu'il est livré avec beaucoup de logiciel notamment
EasyPHP, WAMP, Apache2Triad etc.
2.6- Justification du choix du serveur web Apache.
Qu'est ce qu'un serveur web?
Un serveur web est un logiciel permettant à des clients
d'accéder à des pages web, c'est-à-dire en
réalité des fichiers au format HTML à partir d'un
navigateur (aussi appelé browser) installé sur leur ordinateur
distant. Il est donc un « simple » logiciel capable
d'interpréter les requêtes HTTP arrivant sur le port
associé au protocole HTTP (par défaut le port 80), et de fournir
une réponse avec ce même protocole.
Le serveur Web Apache.
Apache est le serveur libre le plus répandu sur
Internet. Il s'agit d'une application fonctionnant à la base sur les
systèmes d'exploitation de type Unix, mais il a désormais
été porté sur de nombreux systèmes, dont Microsoft
Windows.
Grâce à sa convivialité et sa facilité
d'utilisation, il est devenu l'un des piliers du succès du trio
Apache/MySQL/PHP de développement Web.
Apache (ou bien pour les puristes à l'anglophone «
Apatchy ») tire son nom de la façon dont il a été mis
au point (« A patchy server » qui veut dire « un serveur
rafistolé ») car il est le fruit d'une multitude de correctifs
logiciels afin d'en faire une solution très sûre.
L'étude qui suit, réalisée par Netcraft
illustre le règne de Apache dans le monde des serveurs Web.
Part de marché pour les serveurs
supérieurs à travers tous les domaines août 1995 - octobre
2005
|
Réalisateurs Supérieurs
|
|
|
Réalisateur
|
Septembre 2005
|
Pour cent
|
Octobre
2005
|
Pour cent
|
Changement
|
Apache
|
49598424
|
69,15
|
52005811
|
69,89
|
0,74
|
Microsoft
|
14601553
|
20,36
|
15293030
|
20,55
|
0,19
|
Le soleil
|
1868891
|
2,61
|
1889989
|
2,54
|
-0,07
|
Zeus
|
584598
|
0,82
|
585972
|
0,79
|
-0,03
|
(Source :
http://www.netcraft.com).
Enquête réalisée par Web Server Contraintes
liées au projet
Les contraintes ont été de deux ordres à
savoir :
Les problèmes liés à l'accès de la
salle machine au début. Mais ces problèmes ont été
résolus par la suite grâce au Directeur .
La familiarisation avec le langage UML a pris l'essentiel du
temps de notre stage puisqu'il nous était complètement nouveau.
Sa mise en pratique nécessite un apprentissage et passe par une
période d'adaptation.
Notre thème sur lequel nous avions commencé
à travailler au début était abandonné après
un temps donné compte tenu de l'importance du système LMD.
Nous avons également eu une pénurie de source
d'information sur le projet puisque le LMD n'était pas jusque là
pratiqué dans aucune faculté ou école de
l'Université de Lomé.
En plus des contraintes qui précédent nous allons
ajouter celle temporelle.
3-Quelques captures d'écran
65
Présenté et soutenu par Komi Klenam ADJAFO-TRETU
Interface pour définir les semestres.
Interface de saisie des motifs de stages
CONCLUSION
Nous venons par ce stage pratique effectué au CIC/CAFMICRO
de boucler notre formation.
Ce stage qui nous a permis de rédiger notre
mémoire a été décisif et d'une importance capitale
dans notre étude puisqu'il constitue un pont entre le monde
professionnel et celui de la formation. Il nous a paru très utile
puisqu'une expérience en matière de réalisation de projet
a été acquise.
Nous avons modélisé avec un langage de
modélisation UML et programmé avec le langage PHP qui nous ont
paru tellement intéressants car ils offrent une
67
panoplie d'avantages. Ce fut pour nous une occasion de confronter
nos connaissances aux diverses réalités du terrain.
Concernant le logiciel réalisé, il faut signaler
que certes une base est jetée mais nous reconnaissons nos faiblesses et
lacunes.
A l'heure des bilans, nous nous réjouissons quand
même du chemin parcouru et de l'effort collectif et individuel qui vient
d'être fourni.
Et nous pensons que sur cette base logicielle que nous venons
de produire se fondera une robuste application qui prendra en compte tous les
aspects de la reforme LMD. Reforme qui est à notre image un instrument
privilégié pour éviter les divorces réels entre les
diplômes et leur détenteur.
Notre plus grand souhait est qu'on puisse gérer les
unités d'enseignement qui sont le neud probable de cette refonte. De
cette manière nous pensons adapter l'Université aux exigences
multiformes du monde contemporain, parce que non seulement elle nous
représente à l'extérieur, mais encore, elle doit
s'insérer dans un réseau de relations internationales en
perpétuel mouvement.
Pour terminer nous ne manquerons pas d'exprimer une fois encore
notre gratitude à tous ceux qui nous ont aidé durant notre
formation.
68
REFERENCES
Pour l'apprentissage de UML
* P.-A. MULLER, N. GAERTNER : Initiation à
l'algorithmique objet . Troisième tirage 2003 Editions : Eyrolles
,
* Alain Cardon et Christophe Dabancourt : Modélisation
objet avec UML . Deuxième édition,
*Guide de l'utilisateur UML collection Technologies
objet/Reference. 200 pages
Webographie
http://uml.free.fr/
69
http://uml.org/ http://rational.org/
Pour l'apprentissage de PHP :
Cours pdf : PHPMySQL.
Webographie
http://www.phpscripts-fr.net/ http://www.phpcs.com/
http://www.php.net/
http://www.phpdebutant.org/
Pour l'apprentissage de JavaScript :
Emily A. Vanter VERRE : Javascript pour les nuls
Webographie :
http://www.jejavascript.net/ http://www.toutjavascript.com/
Pour l'apprentissage des CSS et HTML :
Webographie :
http://www.developpez.com/ http://commentcamarche.net/
Cours de Base de données de M. BASSAH et M. DAMALI Cours
de Génie Logiciel de M. AMEKOUDI
70
Le glossaire du LMD
Le glossaire des sigles
Le glossaire des termes informatiques
GLOSSAIRE
Le Glossaire de la réforme LMD
ANNEXE DESCRIPTIVE
C'est un document joint à un diplôme
d'études supérieures qui vise à améliorer la
"transparence internationale et à faciliter la reconnaissance
académique et professionnelle des qualifications. ".Il décrit
l'ensemble des compétences acquises par le titulaire du diplôme
(UE, stages, mémoire, études effectuées à
l'étranger ...).Il est délivré par les
établissements nationaux selon un modèle élaboré
par un groupe de travail conjoint de la commission LMD et les partenaires..
71
CAPITALISATION
Au sein d'un parcours de formation, les unités
d'enseignement sont définitivement acquises et
capitalisables dès lors que l'étudiant y a obtenu
la moyenne. De même sont capitalisables les éléments
constitutifs des unités d'enseignement.
COMPENSATION
Chaque unité d'enseignement est affectée d'un
coefficient et d'une valeur en crédits. Un diplôme s'obtient soit
par acquisition de chaque unité d'enseignement constitutive du parcours
correspondant, soit par application des modalités de compensation entre
unité d'enseignement.
La compensation est organisée sur le semestre sur la
base de la moyenne générale des notes obtenues pour les diverses
unités d'enseignement, pondérées par les coefficients.
CREDITS
C'est une unité permettant d'attribuer une valeur
à la charge de travail requise pour atteindre les objectifs d'une UE. Il
correspond à 20 heures de charge de travail pour l'étudiant.
Les crédits représentent, sous la forme d'une
valeur numérique (valeur entre 1 et 60) affectée à chaque
unité de cours, le volume de travail que
l'étudiant est supposé fournir (cours, TD, TP, travail personnel)
pour chacune d'entre elles. Dans le cadre du système de crédits,
60 crédits représentent le volume d'une
année d'étude soit deux semestres.
DIPLOME
Il sanctionne un niveau d'études. Il peut être
national (Licence, Master, Doctorat) ou d'université (on parle alors de
DU).
DISCIPLINE
Matière d'enseignement .Plusieurs disciplines sont
regroupées dans les domaines de formation dans le cadre du LMD.
DOCTORAT
Diplôme de niveau 3 de l'enseignement supérieur
délivré à Bac+8.
DOMAINE
Les domaines constituent le cadre général de
l'offre de formation de l'établissement. Ils expriment des champs de
compétence Leurs intitulés peuvent ne pas être identiques
au niveau licence et au niveau master. Les domaines se déclinent en
mentions.
EVALUATION
Elle désigne le contrôle des connaissances
(évaluation des étudiants). Il existe également des
procédures, d'évaluation des enseignements et de l'organisation
de l'année d'études par les étudiants.
GRADES
72
Les grades fixent les principaux niveaux de
référence de l'Espace francophone de l'enseignement
supérieur. Les grades sont le baccalauréat, la licence, le master
et le doctorat. Entre les grades perdurent les titres universitaires, niveaux
intermédiaires qui sanctionnent une étape du déroulement
des études supérieures.
LICENCE : Diplôme de niveau 1 de
l'enseignement supérieur délivré à Bac+3.
LMD
Dispositif Licence Master Doctorat d'harmonisation des
diplômes en cours d'adoption par les 7 universités de l'espace
francophone.
MASTER
Diplôme de niveau 2 de l'enseignement supérieur
délivré à Bac+5.
Il existe des Masters professionnels (ex : DESS) et des masters
recherche (ex : DEA).
MOBILITE
Facilitée par le LMD, elle désigne la
possibilité pour un étudiant de passer d'une université
à une autre ( les 7 universités du réseau ouest
africain).
PARCOURS
A l'intérieur de chaque domaine, l'université
propose plusieurs parcours. Chaque parcours comprend des UE obligatoires et des
UE au choix de l'étudiant, ce qui permet une individualisation de la
formation.
PARCOURS TYPE
Les parcours types de formation sont des ensembles
cohérents d'unités d'enseignement,
organisant des progressions pédagogiques adaptées.
Ils visent à l'acquisition d'un ou plusieurs diplômes
nationaux.
Les parcours peuvent être mono disciplinaires,
pluridisciplinaires, à vocation générale, appliquée
ou professionnelle.
PASSERELLES
Ce sont des possibilités d'évoluer dans ses choix
ou de se réorienter vers un autre domaine.
PRESENTIEL
Se dit d'un enseignement (cours magistral, TD, TP)
réalisé par un enseignant, en opposition à l'enseignement
en ligne (intranet, Web...).
SESSION D'EXAMEN
Les examens sont semestriels et comprennent au plus 2 sessions
séparées désormais par quelques semaines.
SUPPLEMENT AU DIPLÔME
73
Le supplément au diplôme est un document joint
à un diplôme d'études supérieures destiné
à décrire la nature, le niveau, le contexte, le contenu et le
statut des études accomplies avec succès par la personne
désignée, Il doit être dépourvu de tout jugement de
valeur, déclaration d'équivalence ou suggestion de
reconnaissance.
TRAVAIL COOPERATIF
C'est un travail collectif hors de la présence directe
de l'enseignant réalisé le plus souvent à l'aide des
nouveaux outils de communication à distance (forums, intranet)
TRAVAIL PERSONNEL GUIDE
C'est un travail effectué avec le soutien
pédagogique d'un enseignant.
Unité d'enseignement (UE)
C'est l'élément de base du semestre.
UE FONDAMENTALES
Elles sont obligatoires et doivent être suivies par tous
les étudiants du parcours concerné. L'étudiant doit donc
s'inscrire, durant ses études, à tous les cours
énumérés dans les UE fondamentales.
UE COMPLEMENTAIRES
Elles complètent logiquement les UE fondamentales
choisies par l'étudiant et doivent être prises obligatoirement
afin de valider le parcours de l'étudiant. Ce dernier a obligation de
choisir un certain nombre de ces UE parmi une liste imposée par
l'équipe pédagogique en fonction de son projet de formation
personnel et professionnel.
UE D'OUVERTURE
En plus des enseignements regroupés au sein des UE
fondamentales et complémentaires, les parcours comprennent un nombre
déterminé de crédits attribués à des
enseignements ou des activités au choix : ce sont des UE d'ouverture.
Le Glossaire des différents sigles utilisés
dans le document
AUPELF/UREF : Association des Universités
Partiellement ou Entièrement de langue Française/
Université des Réseaux d'Expression Française.
CCNA: Cisco Certified Network Associate.
74
CNAP : Cisco Networking Academy Program
CINERA : Club pour l'INformatique dans
l'Education et la Recherche en Afrique.
DAAS : Direction des Affaires Académiques
et de la Scolarité.
IUT de Gestion : Institut Universitaire de
Technologie de Gestion. ESSD : Ecole Supérieure de
secrétariat de Direction
ENSI : Ecole Nationale Supérieure
d'Ingénieurs.
FMMP : Faculté Mixte de Médecine
et de Pharmacie.
GNU : c'est un acronyme
récursif pour UNIX» des «GNU pas;; c'est «guh-noo
prononcé, » «noo» étant comme le «new»
américain;).
GPL : General Public Licence
PII/UNESCO : Programme Organisation des Nations
Unies pour l'Education la Science et la Culture.
TIC : Technologie de l'Information et de la
Communication.
TICE : Technologie de l'Information et de la
Communication pour l'Education. UEMOA : Union Monétaire
Ouest Africaine.
Le Glossaire des termes informatiques.
Application client/serveur : Client/serveur
désigne un mode de communication entre des programmes informatiques :
* un programme tient le rôle de « serveur » :
il est conçu de façon à pouvoir répondre à
des requêtes extérieures ; * les autres programmes (« clients
») contactent le serveur pour lui soumettre des demandes, et attendent sa
réponse.
Application Web : Désigne
l'utilisation des technologies de l'information dans un domaine particulier
(par exemple, application de gestion des immobilisations). Techniquement,
l'application est une unité de conception d'une solution; elle aboutit
à un ensemble de programmes articulés entre eux.
75
Internet : Internet est le nom donné
au réseau informatique mondial, reposant sur le système
d'adresses global des protocoles de communication TCP/IP (Transmission Control
Protocol/Internet Protocol) et qui rend accessible au public des services comme
le courrier électronique et le World Wide Web.
Réseautique : Ensemble des techniques
destinées à concevoir et mettre en oeuvre des réseaux
informatiques.
Système d'information (SI) : Un
système, automatisé ou manuel, qui comprend des hommes, des
machines et des méthodes organisés pour assembler, transmettre et
répandre des données qui représentent de l'information
pour les utilisateurs. ...
Génie logiciel : il est la branche du
génie informatique s'intéressant plus particulièrement
à la manière dont le code source d'un logiciel est
spécifié puis produit.
76
Annexe A : Architecture des diplômes.
Annexe B : L'organisation du semestre.
Annexe C : Les contours du crédit.
Annexe D : l'organisation de l'Université
de Lomé.
Annexe E : Documents reçus.
.
Annexe F : Présentation du domaine
Lettres et Langues. Annexe G : Présentation du domaine
Sciences et Technologie.
77
47
|