Sunteți pe pagina 1din 26

Internet/Intranet

Gestion d’un centre de formation continue

Proposé Par : Réalisé par :


Mr Skalli Salifou Ousmane (GI2)
Adan Hounsounou Faude (GI2)
Jamal Hanin (SIG 2)
Amine Lahyani (SIG 2)

EHTP - Juin 06
Table des matières

• Introduction

• Etude de l’existant

• Démarche projet

Ø Planification
Ø spécification des besoins
Ø Conception UML
Ø Démonstration du site dévelopé

• Conclusions et perspectives

• Annexes

• Webographie
Introduction :
L’utilisation des NTIC (Nouvelles Technologies de l’Information et des
Communications) dans l’enseignement grandit d’année en année. Il existe déjà de nombreux
environnements qu’offrent des propositions de cours aux internautes, et qui suivent les
étudiants dans leur apprentissage en lui proposant en continu du contenu adapté à son profil.

"La technologie seule ne suffit pas: ce sont les hommes qui font la différence". Et cela
passe essentiellement par la formation dans un environnement faisant de plus en plus appel à
des technologies et des méthodologies complexes.

Dans le cadre de notre formation en développement des systèmes d’information, on nous a


confié de réaliser un projet de développement d’un site Web dynamique + Intranet ayant
comme objectif la gestion des formations,

Nous nous sommes organisés en une équipe de 4 membres, en jouant la complémentarité


pour fournir un travail consistant, et nous avouons que c’était une expérience enrichissante.

Après prise en charge de la demande, et afin de bien comprendre la problématique, nous


avons commencé, et comme une étape préliminaire, d’étudier l’existant.
L’Internet est un outil très utile dans ce sens. En effet nous avons trouvé beaucoup de sites
qui répondent exactement à notre problématique. Citons entre autres : www.orsys.fr,
www.formatguide.com.
Etude de l’existant
Nous avons pris connaissance de plusieurs sites qui abordent le même sujet, ainsi nous
avons tirés plusieurs points ce qui nous a aidé à bien assimiler les objectifs du projet.

• Nous avons pris connaissance de plusieurs sites web dynamiques réalisés avec les
technologies Web PHP, JSP, ASP…
• Les sites propose plusieurs vues dépendamment du profil de l’utilisateur (espace
étudiants, espace formateurs), catégorie de formation (collège, lycée, formation
divers), lieu (formation virtuelle e-Learning, ou classique précision lieu…), choix
divers.
• Les sites propose tout de même des vues pour des organismes qui souhaite intégrer
leur offre de formation dans ses sites ainsi que pour des entreprises qui peuvent
déposer leurs besoins en formation, des formateurs pour dispenser des formations
• Les sites proposent des démos reflétant la qualité de l’enseignement proposé, et dans
le cas e-Learning, ca démontre les avantages d’une telle solution
• Pour chaque cours proposé dans le cadre d’une formation, il y est une définition, on
précise les Bénéficiaires, Durée, prérecquis ….
• Il y a des propositions de formation diplomates, ainsi que des offres de stage suite à
une formation réussi
• Il y a des sites qui propose Une pédagogie innovante qui s’appuie sur le travail
collaboratif et l’accompagnement des apprenants (algorithmes permettant le suivi de
profil des apprenants)
• Plusieurs sites propose en plus une plate-forme technique d’enseignement à distance
• Les sites web propose des forums relative a chaque thème ou formation dispensé dan
le site, ceci pour encouragé les apprenants à partager leur connaissances et collaborer
pour un bon déroulement des cursus

Ces sites nous ont été très utiles, pour constituer une première architecture théorique de
notre application.
Panorama des sites Web de formation continue
Démarche projet
A l’issue de cette étape de découverte des plates forme existantes, nous avons mise en place
une première planification ainsi qu’une répartition préalable des taches. Notons que tous les
acteurs étaient impliqués dans toutes les étapes avec des réunions à base hebdomadaire qui
nous a permis d’accroitre notre visibilité des objectifs du projet.

Organisation du projet (projection)


Les étapes relatives au projet sont :

o Analyse : étude de l’existant (Sites Web offrant les mêmes spécificités du projet) +
Spécification des besoins.
o Conception et Architecture: modélisation UML (modèle des cas d’utilisation,
Diagramme de classes), Architecture du Site.
o Conception de la base de données : traduction du diagramme de classes en BD sous
MySQL.
o Autoformation (sur les outils de réalisation) : autoformation en PHP/MySQL*.
o Programmation : programmation du site Web.
o Tests et maintenance: test le bon fonctionnement du site.
o Hébergement du site.

*La documentation est effectuée tout au long du projet.


Planification Gantt (projection, sous SodeaSoft)
Spécification des besoins
Cette étape consiste à exprimer les besoins (en un langage simple : textuelle) de
l’application Web, autrement qu’est ce que nous prétendons réellement développer.

Après avoir eu une visibilité des objectifs du projet, nous nous sommes penchés sur la
phase de spécification des besoins et l’analyse ainsi, notre mission se résume en la réalisation
d’un système informatique, comportant deux volets, Vue utilisateur (site web), Vue
administrateur (Intranet)

Le site web proposera des formations aux utilisateurs suivant leur centre d’intérêts.

L’administrateur, quant à lui, se chargera à mettre à disposition des utilisateurs des


formations adaptés ainsi qu’un espace convivial qui les encouragera à se loguer pour profiter
des outils mise à sa disposition (messagerie interne, entre autre)

Le site web va offrir aux formateurs une vue pour déposer leur offre de formation ainsi le
site sera un lien entre bénéficiaires de la formation en l’occurrence les utilisateurs et les
formateurs.
Conception UML
La conception est une étape nécessaire afin de définir en clair le noyau de l’application.
Le langage UML se veut un outil très performant qui aide le concepteur et le programmeur à
apercevoir la future application sous différentes angles à travers ces divers vues et modèles.

Diagrammes de USE CASES

P r o p o s e r F o r m a ti o n

In s c r ip t i o n
< < in c lu d e > >

V a l i d e r In s c r i p t io n
User

A d m in

C o n s u l te r F o r m a t i o n

D é p o s e rC V

< < in c lu d e > > D é p o s e r L e tt r e D e S a ti s f a c t i o n

< < in c lu d e > >

V a lid e rC V

V a l i d e r L e ttr e

G e s ti o n d e s d o n n é e s

< < in c lu d e > >

A u th e n ti fi c a ti o n
Diagramme de scénario du cas d’utilisation : ajout d’une formation (gestion des
données)

CFC
: Ad m in

P a g e d 'a c c u e i l

C h o ix d e l 'e s p a c e a d m in

S 'a u t h e n t ifie r ?

a u t h e n t ifi c a t i o n

E s p a c e a d m in

A j o u t fo rm a t i o n

F o rm u la i re a j o u t ?

S a is i r F o rm a t i o n

F o rm a t i o n va lid é e

Remarque :

Les deux cas : modifier formation et suppression formation suivent le même diagramme de
scenario
Diagramme de scénario du cas d’utilisation : consultation d’une formation

CFC
: (U s e r)

P a g e d 'a c c u e i l

C h o ix t h è m e

L is t e d e s fo rm a t i o n s

C h o ix fo r m a t io n p a r m i la li s t e

In fo rm a t io n s s u r la fo rm a t io n
Diagramme de scénario du cas d’utilisation : Inscription d’un client

CFC
: User

P a g e d 'a c c u e il

C h o is i r S 'in s c r ire

F o rm u la ir e

S a is i r in fo r m a t io n s

In s c r ip t i o n va lid é e
Diagramme de classes :

Theme Formation
IdThème Concerne IdFormation
thèm e 1 0..* Intitulé

admin Concernant
login
password
Cours *
idCours sondage
niveau
Formateur dateDebut
dateEmbauche dateFin
diplome nbrPlaces
0..* 0..*
id Dispense prix
nom type
0..* S'inscrire
prenom
mail 1..* user
adresse
prenom
tel
sexe
sexe
PersonneMorale
passe
id
nom
tel
mail
Organisme
adresse
login ville
domaineActivite
password
type
raisonJuridique
Structure de la base de données
Démonstration du site développé
Conclusions et perspectives

Au terme de ce projet, nous sommes parvenus à mettre en place les différents modules du
site web qui répondent aux besoins spécifiés au préalable dans le dossier de spécification des
besoins.

Nous avouons vivre une expérience très enrichissante durant notre travail en groupe, les
multiples « brainstormings », avec l’esprit d’équipe qui a régné tout au long la durée du projet
nous ont stimulé afin de fournir le meilleur de soi, et alors fournir un travail consistant.

Par ailleurs, comme perspective, il serait opportun d’enrichir l’application par de


nouvelles commandes et modules annexes au niveau de la communication entre les
utilisateurs (forum d’apprenants et de formateurs). Ainsi que des tests d’évaluation et la
communication en temps réel (chat).
Annexes

GANTT (Conduite du projet) sous MsProject 98


L’environnement de développement

Comme nous avions précisé en introduction, l’environnement de développement étant


basé sur les logiciels libres, nous y consacrerons une partie pour les raisons derrière ce choix.
Nous allons décrire le langage script PHP et le SGBD Mysql. Nous parlerons ensuite de
Easyphp un logiciel libre contenant à la fois un serveur de base de donnée Mysql et un serveur
Apache interpréteur du langage PHP.

Pourquoi le logiciel libre ?

Le logiciel libre connaît un succès grandissant. Son prix, sa souplesse, ses performances et la
qualité du support, aujourd´hui équivalente à celle d´un logiciel propriétaire, séduisent un
nombre croissant d´entreprises.

Plus de la moitié des serveurs Web sont équipés d´Apache, logiciel libre concurrent de IIS
de Microsoft notamment (source Netcraft). Selon IDC, un quart du marché des systèmes
d´exploitation est désormais acquis à Linux, logiciel libre concurrent de Netware de Novell,
Windows de Microsoft ou encore Solaris de Sun... Auchan, La poste, L´Oréal, France
Telecom, la BNP, La Macif, Schlumberger, le BHV, Radio France, Mediavision... on ne
compte plus les entreprises qui optent pour le logiciel libre. Au palmarès des raisons de cet
engouement, la gratuité des licences. Mais pas seulement. Aux avantages économiques, il faut
ajouter la souplesse, la performance et le support des produits...

Qu'est-ce que le PHP ?

Présentation

Le langage PHP a été créé en 1994 par Rasmus Lerdorf pour les besoins des pages web
personnelles (livres d'or, compteurs, etc.) et pas pour les sites professionnels. A l'époque, PHP
signifiait Personal Home Page.
C'est un langage incrusté au HTML (c'est-à-dire qu'il s'écrit au beau milieu du code
HTML) et interprété (dans sa version 3) ou compilé (dans sa version 4) côté serveur. Il dérive
du C et du Perl dont il reprend la syntaxe. Il est extensible grâce à de nombreux modules qui
multiplient ses fonctionnalités et son code source est ouvert, permettant ainsi à n'importe qui
de contribuer au projet en ajoutant de nouvelles fonctionnalités de son cru. Comme il supporte
tous les standards du web et qu'il est gratuit, il s'est rapidement répandu sur la toile.
En 1997, PHP devient un projet collectif et son interpréteur est réécrit par Zeev Suraski et
Andi Gutmans pour donner la version 3 qui s'appelle désormais " PHP : Hypertext
Preprocessor " (acronyme récursif à l'exemple du système Open Source Linux : Is Not UniX).
Il se crée par ailleurs des applications web prêtes à l'emploi (PHPNuke, PHP SPIP,
PHPSlash...) permettant de monter facilement et gratuitement son portail. En juillet 2000, plus
de 300.000 sites tournaient déjà sous PHP ! C'est avant tout sa gratuité et sa simplicité qui
expliquent qu'il se soit ainsi répandu.

Que peut faire PHP?

PHP est principalement conçu pour servir de langage de script coté serveur, ce qui fait
qu'il est capable de réaliser tout ce qu'un script CGI quelconque peut faire, comme collecter
des données de formulaire, générer du contenu dynamique, ou gérer des cookies. Mais PHP
peut en faire bien plus.
Il y a trois domaines différents où PHP peut s'illustrer.

§ Langage de script coté serveur. C'est l'utilisation la plus traditionnelle, et aussi le


principal objet de PHP. Vous aurez besoin de trois composants pour l'exploiter : un
analyseur PHP (CGI ou module serveur), un serveur web et un navigateur web.
Vous devez exécuter le serveur web en corrélation avec PHP. Vous pouvez
accéder au programme PHP avec l'aide du navigateur web. Voyez la section
d'installation pour plus d'informations.

§ Langage de programmation en ligne de commande. Vous pouvez écrire des scripts


PHP et l'exécuter en ligne de commande, sans l'aide du serveur web et d'un
navigateur. Il vous suffit de disposer de l'exécutable PHP. Cette utilisation est
idéale pour les scripts qui sont exécutés régulièrement (avec un cron sous Unix ou
Linux), ou un Task Scheduler (sous Windows). Ces scripts peuvent aussi être
utilisé pour réaliser des opérations sur des fichiers texte. Voyez la section sur
l'utilisation de PHP en ligne de commande pour plus d'informations.

§ Ecrire des applications graphiques. PHP n'est probablement pas le meilleur


langage pour écrire des applications graphiques, mais si vous connaissez bien PHP
et que vous souhaitez exploiter des fonctionnalités avancées dans vos applications
clientes, vous pouvez utiliser PHP-GTK pour écrire de tels programmes. Vous
avez aussi la possibilité d'écrire des applications très portables avec ce langage.
PHP-GTK est une extension de PHP, qui n'est pas fournie dans la distribution de
base. Si vous êtes intéressé par PHP-GTK, visitez son site web.

PHP est utilisable sur la majorité des systèmes d'exploitation, comme Linux, de
nombreuses variantes Unix (incluant HP-UX, Solaris et OpenBSD), Microsoft Windows, Mac
OS X, RISC OS et d'autres encore. PHP supporte aussi la plupart des serveurs web actuels :
Apache, Microsoft Internet Information Server, Personal Web Server, Netscape et iPlanet
servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd et beaucoup d'autres
encore. Pour la majorité des serveurs web, PHP fonctionne comme module, et pour d'autres, il
fonctionne comme exécutable CGI.
Avec PHP vous avez le choix de votre système d'exploitation et de votre serveur web. De
plus, vous avez aussi le choix d'utiliser la programmation procédurale ou objet, ou encore un
mélange des deux. Bien que le support de la couche objet ne soit pas très standard, de
nombreuses librairies et applications d'envergure (y compris la bibliothèque PEAR) sont
écrites en langage objet.
Avec PHP, vous n'êtes pas limité à la production de code HTML. Les capacités de PHP
lui permettent de générer aussi bien des images, des fichiers PDF, des animations Flash (avec
l'aide des librairies libswf et Ming), généré à la volée. Vous pouvez aussi générer facilement
du texte, du code XML ou XHTML. PHP génère tous ces fichiers, et les sauve dans le
système de fichier, ou bien les envoie directement au navigateur web.
Une des grandes forces de PHP est le support de nombreuses bases de données. Ecrire une
page web exploitant une base de données est extrêmement simple. Les bases de données
suivantes sont toutes supportées par PHP :
Adabas D ,DBase,Empress ,FilePro (lecture seule) ,Hyperwave ,IBM DB2 ,Informix,
Ingres ,InterBase ,FrontBase ,mSQL ,Direct MS-SQL ,MySQL ,ODBC ,Oracle (OCI7 et
OCI8) ,Ovrimos ,PostgreSQL ,Solid ,Sybase ,Velocis ,Unix dbm .

PHP supporte de nombreux protocoles comme par exemple LDAP, IMAP, SNMP, NNTP,
POP3, HTTP, COM (sous Windows) et encore d'autres. Vous pouvez ouvrir des sockets
réseau, et interagir avec n'importe quel autre protocole. PHP supporte le format complexe
WDDX, qui permet de communiquer entre tous les langages web. En terme d'interconnexion,
PHP supporte aussi les instanciations d'objets Java, et les utilise de manière transparente
comme objets intégrés. Vous pouvez aussi exploiter les objets distants avec CORBA.

PHP dispose de fonctionnalités extrêmement utiles pour le traitement de texte, allant des
expressions régulières POSIX étendue ou Perl aux traitements des fichiers XML, avec les
standards SAX et DOM. Vous pouvez utiliser les transformations XSLT.

En commerce électronique, vous trouverez des outils de paiement intégrés comme


Cybercash, CyberMut, VeriSign Payflow Pro et CCVS, pour réaliser des paiements en ligne.

Enfin, PHP dispose d'extensions très pratiques comme le moteur de recherche


mnoGoSearch, la passerelle avec IRC, des outils de compression (gzip, bz2) et de conversion
calendaires, de traduction...

Qu'est-ce que le Mysql ?

Introduction

Créé en 1995 Mysql devient un standard SGBD environ 4 millions d’installations c’est
Open source mais développée et supportée par une société commerciale suédoise
(http://www.mysql.com)
MySQL dérive directement de SQL (Structured Query Language) qui est un langage de
requête vers les bases de données exploitant le modèle relationnel.
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…)
Le serveur de base de données MySQL est très souvent utilisé avec le langage de création
de pages web dynamiques : PHP. Il sera discuté ici des commandes MySQL utilisables via
PHP dans les conditions typiques d’utilisation dans le cadre de la gestion d’un site personnel
hébergé gratuitement (par exemple sur Free.fr).
Caractéristiques

• Multi-plateformes: UNIX/Linux, Windows, MacOS


• Client/serveur
• Nombreuses librairies clientes:
Java, C, C++
PHP, ASP, ODBC

Limitations:

• Pas (encore) transactionnelle


• Manque de certaines fonctions high end (clustering, partitionnement)
• Limitations dans l’implémentation SQL
• Pas de clés étrangères!

Présentation d'EasyPHP

Introduction

Comme, déjà mentionné, on a adopté comme choix d’outil de développement le easyphp


dont voici une petite présentation.

Pourquoi EasyPHP ?
Le langage PHP est un langage extrêmement puissant : il permet de créer des pages web,
au travers desquelles l'utilisateur peut échanger des informations avec le serveur ; c'est ce
qu'on appelle des pages web dynamiques. Programmer en PHP est assez simple. En revanche,
PHP n'est pas un langage compilé, c'est un langage interprété par le serveur : le serveur lit le
code PHP, le transforme et génère la page HTML. Pour fonctionner, il a donc besoin d'un
serveur web. Donc si vous souhaitez utiliser des pages en PHP dans votre site web, pour les
tester, il faudra les exécuter sur un serveur web. Donc deux solutions :
§ Soit vous les envoyez régulièrement grâce à un programme FTP sur votre serveur
web pour les tester. C'est faisable, mais ça peut devenir fastidieux.
§ Soit vous installez un serveur web en local, qui vous permettra de tester
directement vos pages PHP. EasyPHP permet de réaliser simplement cette dernière
solution.
Enfin, EasyPHP permet également d'installer MySQL, une base de donnée, le troisième et
inséparable membre du trio Apache/PHP/MySQL. Une base de donnée est un programme
permettant de gérer une grande quantité de données en les organisant sous forme de tables.
Vous n'avez alors plus à vous occuper de la manière dont les données sont stockées sur le
disque dur, de simples instructions permettent d'ajouter, de supprimer, de mettre à jour et
surtout de rechercher des données dans une base de donnée. On peut de plus accéder très
facilement à une base de donnée MySQL à partir de PHP, ce qui permet de développer des
sites web très performants et interactifs (par exemple, le forum de Developpez.com).
EasyPHP joint PHPMyAdmin à MySQL, un outil écrit en PHP permettant de gérer vos bases
de données MySQL. En utilisant EasyPHP, vous pouvez installer un serveur web complet, qui
vous permettra de faire tous vos tests de pages PHP en toute facilité.

EasyPHP est un donc paquetage contenant à la fois Apache, PHP et MySQL. Cela explique sa
taille relativement importante à télécharger (environ 10 Mo).
Quelles fonctionnalités propose EasyPHP ?

Chose la plus importante, EasyPHP propose le téléchargement en une fois et l'installation en


un assistant des trois programmes précédemment cités, Apache, PHP et MySQL. Cela permet
d'installer automatiquement ceux-ci, en se libérant des problèmes liés à la configuration
manuelle qui est souvent nécessaire lorsqu'on les installe séparément
Lorsqu' EasyPHP est lancé, les serveurs Apache et MySQL sont automatiquement lancés (il
est même possible de le faire automatiquement au démarrage de Windows). Une petite icône
s'installe dans la barre des tâches, à côté de l'horloge, permettant un accès rapide aux
fonctions proposés par EasyPHP :
§ Arrêter et Redémarrer les serveurs Apache et MySQL.
§ Accéder au "Web local", c'est-à-dire la racine des sites webs.
§ Un panneau d'administration en PHP
§ Un outil de configuration d'EasyPHP
§ L'accès aux logs
§ L'aide

Le panneau d'administration

Ce panneau de configuration permet de paramétrer simplement certaines options d'Apache et


de MySQL.
Les alias
Par défaut, si vous tapez http://localhost dans votre navigateur, les pages web affichées seront
celles du répertoire ...\EasyPHP\www. Vous pouvez modifier ce répertoire en éditant le
fichier httpd.conf situé dans le répertoire...\EasyPHP\apache\conf et en éditant la ligne
DocumentRoot, remplaçant le chemin par celui de votre choix :
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "C:/Program Files/EasyPHP/www"

Vous pouvez aussi créer des alias. Ce système permet de gérer plusieurs sites web en créant
des répertoires "virtuels" : considérons que vous gérez deux sites, l'un sur le C++ et l'autres
sur Windows. Vous pouvez créer un alias "C++" qui pointera sur le répertoire c:\mes
documents\site_cpp où se situe votre site sur le C++ et un alias "Site Windows" vers c:\mes
documents\Jacques\Windows, répertoire qui contient votre site de trucs et astuces Windows.
Pour accéder aux pages web en passant par le serveur, il vous suffira d'ouvrir un navigateur et
de taper http://localhost/c++ ou bien http://localhost/SiteWindows pour accéder
respectivement à l'un ou l'autre des sites. Les alias permettent donc de créer de faux
répertoires qui permettent d'accéder à des répertoires totalement indépendants du disque.
Webographie :

http://www.Centre-inffo.fr
http://www.formaguide.com
http://www.leportaildelaformation.fr
http://www.paraschool.com/
http://www.e-learningsite.com
http://www.univ-jfc.fr
http://www.ies-geneve.ch

S-ar putea să vă placă și