Tighlilt - Ferhat Salem-Takarabt - Ali
Tighlilt - Ferhat Salem-Takarabt - Ali
Tighlilt - Ferhat Salem-Takarabt - Ali
MEMOIRE
De fin d’études
THEME
Thème :
Conception et implémentation
Conception d’une
et réalisation d‟un intranet avecapplication
un
siteclient-serveur
web dynamique, un serveur
pour la FTP et serveur
discussion
de messagerie
sur réseau.
2009/2010
SOMMAIRE
2009/2010
Introduction générale………………………………………………………………………………………………………………….. 1
Chapitre I
Introduction…………………………………………………………………………………………………………………….. 2
I. Les types des réseaux …………………………………………………………………………………………………….. 2
I.1. Les réseaux locaux (LAN: Local Area Network)……………………………………………………………….. 2
I.2. Les réseaux métropolitains (MAN: Métropolitain Area Network)…………………………………… 2
I.3. Les réseaux distants (WAN: Wide Area Network)……………………………………………………………. 2
II. Architecture des réseaux :………………………………………………………………………………………………. 3
II.1. Les réseaux en étoile: …………………………………………………………………………………………………………… 3
II.2. Les réseaux en anneau: ……………………………………………………………………………………………………….. 3
II.3. Les réseaux en bus: ………………………………………………………………………………………………………………. 3
III. Le modèle OSI ……………………………………………………………………………………………………………….. 3
III.1. La couche physique…………………………………………………………………………………………………………. 4
III.2. La couche liaison de données………………………………………………………………………………………….. 4
III.3. La couche réseau…………………………………………………………………………………………………………… 4
III.4. La couche transport………………………………………………………………………………………………………… 4
III.5. La couche session……………………………………………………………………………………………………………. 4
III.6. La couche présentation………………………………………………………………………………………………… 4
III.7. La couche application……………………………………………………………………………………………………… 4
IV. Le modèle TCP/IP …………………………………………………………………………………………………………. 4
IV.1. La couche réseau physique…………………………………………………………………………………………… 5
IV.2. La couche routage – le protocole IP………………………………………………………………………………… 6
i) Adresse IP……………………………………………………………………………………………………………………………… 6
ii) Le routage……………………………………………………………………………………………………………………………… 7
IV.3. La couche transport………………………………………………………………………………………………………… 7
i) Le protocole UDP: User Datagram Protocol…………………………………………………………………………….. 7
ii) Le protocole TCP: …………………………………………………………………………………………………………………… 7
IV.4. La couche Application…………………………………………………………………………………………………….. 8
V. client serveur……………………………………………………………………………………………………………….. 8
V.1. Présentation de l’architecture d’un système client/serveur :…………………………………………… 8
V.2. Notions de bases :………..…………………………………………………………………………………………………… 8
V.3. Fonctionnement d'un système Client/serveur : …………………………………………………………………. 9
VI. INTERNET ………………………………………………………………………………………………………………………….. 9
VI.1. Définition………………………………………………………………………………………………………………………….. 9
VI.2. Historique : ………………………………………………………………………………………………………………………. 9
VI.3. Les principaux services de l’Internet : ……………………………………………………………………………….… 10
VI.3.1. La messagerie électronique (email) ……………………………………………………………………………..….. 10
VI.3.2. Le transfert de fichiers (Ftp et Tftp) …………………………………………………………………………….….. 10
VI.3.3. Le service GOPHER…………………………………………………………………………………………………………… 10
VI.3.4. Le service WAIS (Wide Area Informatique System) ……………………………………………………….. . 11
VI.3.5. Les news………………………………………………………………………………………………………………………….. 11
VI.3.6. Le service IRC (Internet Relay Chat) ………………………………………………………………………………… 11
VI.3.7. Le World Wide Web (WWW) …………………………………………………………………………………………… 11
VI.3.8. Le service TELNET (Telecommunications Network) ……………………………………………………….…. 12
VI.3.9. Le DNS………………………………………………………………………………………………………………………………. 12
VII. L’INTRANET……………………………………………………………………………………………………………………….. 12
VII.1. Définition…………………………………………………………………………………………………………………………… 12
VII.2. L'utilité d'un intranet………………………………………………………………………………………………….…..... 13
VII.3. Avantage d'un intranet……………………………………………………………………………………..……………..... 14
VII.4. Mise en place de l'intranet………………………………………………………………………………………………… 15
VII.5. Sécurité d’un Intranet……………………………………………………………………………………………………….. 15
VIII. Extranet……………………………………………………………………………………………………………………………. 15
IX. Le Web…………………………………………………………………………………………………………………………………… 16
IX.1. Historique…………………………………………………………………………………………………………………………… 16
IX.2. Facteurs de succès du Web………………………………………………………………………………………………… 16
IX.3. Principaux termes du Web : ……………………………………………………………………………………………… 16
IX.4. Types de sites Web ……………………………………………………………………………………………………………. 18
IX.5. Pages Web statiques ……………………….……………..…………………………………………………………………. 18
IX.6. Pages Web dynamiques …………………………………………………………………………………………………… 18
Conclusion : ……………………………………………………………………………………………………………….……………….. 19
Chapitre II.
I. Introduction……………………………………………………………………………………………………………………. 20
II. Présentation du laboratoire de recherche en génie civil (LAMOMS) …………………………….. 20
III. Organigramme du laboratoire……………………………………………………………………………………… 21
IV. Tableau récapitulatif des effectifs existants……………………………………………………………..……. 21
V. Etude et travaux de recherche à réaliser………………………………………………………………………… 21
VI. Objectif de notre application………………………………………………………………………………………… 22
Conclusion……………………………………………………………………………………………………………………………….…… 22
Chapitre III
Introduction………………………………………………………………………………………………………………….……………. 23
I. Démarche suivie…………………………………………………………………………………………………………….. 23
II. Règle de gestion………………………………………………………………………………………………………….…. 23
III. Identification des acteurs de l’application……………………………………………………………………. 24
IV. Identification des différents espaces de l’application………………………………………………..… 24
V. Schéma général du site : ………………………………………………………………………………………………… 25
VI. Spécification des scénarios : ………………………………………………………………………………………….. 26
VI.1. Spécification des cas d’utilisations…………………………………………………………………………………….. 28
VII. L’analyse …………………………………………………………………………………………………………….…………. 31
VII.1. Diagramme de robustesse et diagramme de séquence : …………………………………………………… 32
VII.1.1. Cas d’utilisation « identification d’un chercheur » : ………………………………………………………… 33
VII.1.1. 1.Diagramme de robustesse ……………………………………………………………………….………………… 33
VII.1.1. 2.Diagramme de séquence ………………………………………………………………………………….……….. 34
VII.1.2. Cas d’utilisation « Gérer un compte chercheur » : …………………………………………………….……. 34
VII.1.2. 1.Diagramme de robustesse……………………………………………………………………………………….…… 35
VII.1.2. 2.Diagramme de séquence …………………………………………………………………….……………………… 36
VII.1.3. Cas d’utilisation « changer mot de passe » …………………………………………………….………………. 36
VII.1.3. 1.Diagramme de robustesse ……………………………………………………………………………..…………… 37
VII.1.3. 2.Diagramme de séquence ………………………………………………………………………………..…………… 38
VII.1.4. Cas d’utilisation « modifier un chercheur » : …………………………………………………………………… 38
VII.1.4. 1.Diagramme de robustesse……………………………………………………………………………………………… ..39
VII.1.4. 2.Diagramme de séquence ……………………………………………………………………………………………… 40
VIII. La conception : ………………………………………………………………………………………………………………. 40
VIII.1. La conception d’application web : ……………………………………………………………………………………. 41
VIII.2. Réalisation des cas d’utilisation ……………………………………………………………………………………….. 41
VIII.2.1. Diagrammes de séquences élaborées des cas d’utilisations : ………………………………………… 41
VIII.2.1.1. Identification d’un chercheur……………………………………………………………………………………… 41
VIII.2.1. 2.Créer un compte chercheur………………………………………………………………………………………. 42
VIII.2.1. 3.Changer le mot de passe…………………………………………………………………………………………….. 43
VIII.2.1.4. Gérer la base de donnée…………………………………………………………………………………………..… 44
VIII .2.2. Les diagrammes de classe ……………………………………………………………………………………………. 45
VIII .2.2. 1. Diagramme de classe générale du cas d’utilisation « identification d’un chercheur… 45
VIII .2.2. 2. Diagramme de class générale du cas d’utilisation « Créer un compte chercheur»…….. 46
VIII .2.2.3. Diagramme de class générale du cas d’utilisation « Changer mot de passe»……………… 46
VIII .2.2. 4. Diagramme de class générale du cas d’utilisation « Gérer la base de données…………. 47
VIII .2.2. 5. Diagramme de classe détaillé du cas d’utilisation «identification chercheur »…………… 47
VIII .2.2.6. Diagramme de classe détaillé du cas d’utilisation « modifier le mot de passe »…………. 48
VIII .2.2.7.Diagramme de classe détaillé du cas d’utilisation « créer un compte chercheur »……… 49
VIII .2.2.8.Diagramme de classe détaillé du cas d’utilisation « Gérer la base de données »………... 50
IX. La conception de la base de données : ………………………………………………………………………..… 50
IX.1. Le modèle conceptuel de données……………………………………………………………………………………… 51
IX.2. Le schéma relationnel……………………………………………………………………………………………………….. 52
IX.3. Le modèle physique de données : ………………………………………………………………………………………. 52
Conclusion : ………………………………………………………………………………………………………………………………… 53
Chapitre IV
Introduction…………………………………………………………………………………………………………………………………. 54
I. Architecture de notre application…………………………………………………………………………………. 54
I.2. L’environnement de développement…………………………………………………………………………………… 55
I.2.1. Langages de programmation……………………………………………………………………………………………… 55
I.2.1.1. PHP ………………………………………………………………………………………………………………………………… 55
I.2.1.2. Structure d’une page PHP ………………………………………………………………………………………………. 56
I.2.1.3. Fonctionnement du PHP…………………………………………………………………………………………………… 57
I.2.2. Outil de développement……………………………………………………………………………………………………… 57
I.2.2.1. Serveur Web Apache………………………………………………………………………………………………………. 57
I.2.2.2. Serveur MySQL ……………………………………………………………………………….……………………………… 58
I.2.2.2.1. MySQL……………………………………………………………………………..…………………………………………… 58
I.2.2.2.2. Fonctionnalités de MySQL……..…………………………………………………………………………………….. 58
I.2.2.3. Le Serveur FTP FileZilla . …………………………………………………………………….…………………………. 59
I.2.2.4. Le Serveur SMTP Mercury……………………………………………………………………………………………… 60
I.2.2.5. XAMPP ……………………………………………………………………………………………………………………………. 61
I.2.2.5.1. Installer XAMPP ……….…………………………………………………………………………………………………… 61
I.2.2.5.2. Lancer XAMPP ……………………………………………………………………………………………………………… 62
I.2.2.5.3. Installation d'un des serveurs en tant que service ……………………………………………………….. 63
I.2.2.5.4. La console de sécurité XAMPP ……………………………………………………………………………………… 63
I.2.2.5.5. Emplacement des documents web ……………………………………………………………………….……… 64
I.2.2.5.6. Créer un répertoire à démarrage automatique ………………………………………..………………… 65
I.2.2.5.7. Modifier la configuration ………………………………………………………………………………………….…. 65
I.2.2.5.8. Les différents répertoires ……………………………………………………………………………………….……. 66
I.2.2.5.9. MySQL et PHP ……………………………………………………………………………………………………………… 66
I.2.2.6. PhpMyAdmin…………………………………………………………………………………………………………………… 67
I.2.2.6.1. Les fonctions de PhpMyAdmin………………………………………………………………………………….….. 67
I.2.2.6.2. Utilisation de PhpMyAdmin…………………………………………………………………………………..……… 67
I.2.2.7. Autres outils…………………………………………………………………………………………….……………………… 68
II. Exemple des différentes interfaces du site à réaliser……………………………………………………… 68
Annexe
Introduction……………………………………………………………………………………………………………………………….. 82
I. UML……………………………………………………………………………………………………………………………………….. 82
I.1. Les méthodes objets ……………………………………………………………………………………………………………… 82
I.2. Les stades de construction d’UML …………………………………………………………………………………………. 82
I.3. La modélisation UML …………………………………………………………………………………………………………….. 83
I.3. 1.Diagramme fonctionnel : ……………………………………………………………………………………………………. 84
I.3. 1.1.Le diagramme de cas d’utilisation : …………………………………………………………………………… 84
I.3. 2.Diagramme statique ………………………………………………………………………………………………………….. 84
I.3. 2.1.Le diagramme de classe : ……………………………………………………………………………………………….. 84
I.3. 2.2.Le diagramme d’objet : …………………………………………………………………………………………………… 84
I.3. 2.3.Le diagramme de composant : ……………………………………………………………………………………….. 85
I.3. 2.4.Le diagramme de déploiement : …………………………………………………………………………………….. 85
I.3. 3.Diagramme dynamique …………………………………………………………………………………………………….. 85
I.3. 3.1.Le diagramme de séquence : …………………………………………………………………………………………… 85
I.3. 3.2.Le diagramme d’état de transition : …………………………………….…………………………………………… 85
I.3. 3.3.Le diagramme d’activité : ……………………………………………………………………………………………….. 85
I.3. 3.4.Le diagramme de collaboration : …………………………………………………………………………………… 85
II. L’extension d’UML pour le Web …………………………………………………………………………….……………… 86
II.1. Introduction………………………………………………………………………………………………………………………… 86
II.2. L’extension d’UML pour le Web………………………………………………………………………………………….. 87
II.3. Description des stéréotypes………………………………………………………………………………………………… 87
II.3.1. Page serveur (« server page ») ………………………………………………………………………………………… 87
II.3.2. Page client (« client page ») …………………………………………………………………………………………… 88
II.3.3. Formulaire (« form ») ……………………………………………………………………………………………………… 88
II.3.4. Structure de cadre…………………………………………………………………………………………………………….. 89
II.3.5. Cible (« target »)……………………………………………………………………………………………………………….. 90
II.3.6. Objet Script Client (« client script objet »)………………………………………………………………………….. 90
II.3.7. Lien (« Link ») …………………………………………………………………………………………………………………… 91
II.3.8. Lien cible (« targeted link ») ………………………………………………………………………………………………. 91
II.3.9. Contenu de cadre (« frame content ») ………………………………………………………………………….…… 92
II.3.10. Soumet (« submit ») ……………………………………………………………………………………………………… 92
II.3.11. Construit (« build ») ……………………………………………………………………………………..………………… 93
II.3.12. Redirige (« redirect ») …………………………………………………………………………………………………… 93
II.3.13. Élément de saisie (« input element ») ……………………………………………………………………………. 94
II.3.14. Sélection d’élément (« select element ») ……………………………………………………………………….. 95
II.3.15. Zone de texte (« text area element ») ………………………………………………………………….………… 95
II.3.16. Page web (« Web page ») ………………………………………………………………………………………………. 95
II.4. Règles de cohérence……………………………………………………………………………………………………………. 96
Conclusion générale…………………………..……………………………………………………………..……………………….. 98
Bibliographie et webiographie .………………………………..……………………………….……………………………….. 99
CHAPITRE
1
Généralités
Introduction
Les réseaux informatiques occupent aujourd'hui une place prépondérante dans la vie
professionnelle. Ils permettent à plusieurs machines distantes de communiquer par des
moyens divers. Les types de données transmises sont très variés : parole, sons, photos, vidéo,
fichiers de données... L'évolution technologique favorise cette diversité, avec une rapidité
encore inimaginable il y a peu de temps. Ce développement spectaculaire et universel exige
une compatibilité quasi totale, à l'origine d'un processus normatif d'envergure effectué par
l'I.S.O. (Organisatio. prise par les communications est telle que le marché des réseaux
informatiques est très disputé par les opérateurs de télécommunication et les constructeurs
d'équipements informatiques. Il fournit une très grande activité économique.
Ce type de réseaux peut regrouper un petit nombre de réseaux locaux au niveau d'une
ville ou d'une région. L'infrastructure peut être privée ou publique.
Par exemple, une ville peut décider de créer un 'MAN' pour relier ses différents services
disséminés sur un rayon de quelques kilomètres et en profiter pour louer cette infrastructure à
d'autres utilisateurs.
L'infrastructure est en général publique (PTT, Télécom etc.) et l'utilisation est facturée
en fonction du trafic et/ou en fonction de la bande-passante réservée, pour les lignes louées
(une ligne louée est réservée exclusivement au locataire, 24h sur 24, pour la durée du contrat).
Les modems sont un des éléments de base des WANS.
La topologie des réseaux informatiques peut se partager en trois groupes, qui peuvent
se combiner eux aussi :
Les réseaux en étoile: Chaque nœud est relié directement sur un nœud central:
l'information passe d'un nœud périphérique au nœud central, celui-ci devant gérer chaque
liaison.
Les réseaux en anneau: Chaque nœud est relié au nœud suivant et au nœud
précédent et forme ainsi une boucle: l'information transite par chacun d'eux et retourne à
l'expéditeur.
Les réseaux en bus: Chaque nœud est connecté sur un bus: l'information passe
'devant' chaque nœud et s'en va 'mourir' à l'extrémité du bus.
Pour assurer un bon transfert de l‟information avec une qualité de service suffisante, il
faut prévoir une architecture logicielle normalisée tel que le modèle OSI et le modèle TCP/IP
que nous allons décrire ci-dessous.
Au début des années 70, chaque constructeur a développé sa propre solution réseau
autour d‟architecture et de protocoles privés (SNA d‟IBM, DSA de BULL, TCP /IP du
DOD, …) et il s‟est vite avéré qu‟il est impossible d‟interconnecter ces différents réseaux si
une norme internationale n‟est pas établie. Cette norme établie par L‟internationale Standard
Organisation (ISO) est la norme Open System Interconnection (OSI, interconnexion des
systèmes ouverts). Un système ouvert est un ordinateur, un terminal, un réseau, n‟importe
quel équipement respectant cette norme et donc apte à échanger des informations avec
d‟autres équipements hétérogènes et issue de constructeurs différents.
7. Application
6. Présentation
5. Session
4. Transport
3. Réseau
2. Liaison
1. Physique
Figure1 : Les couches du modèle OSI
Cette couche s‟occupe de la représentation des données, elle gère tout ce qui est
transformation de données, formatage, conversion et syntaxe dans un langage de telle sorte
que les deux clients qui dialoguent se comprennent.
Cette couche définit la façon dont les applications accèdent au réseau, elle fournit
une fenêtre à travers laquelle une application obtient un accès à l‟ensemble des services des
couches inférieures : transfert de fichiers, partage de ressources…
TCP/IP désigne communément une architecture réseau, mais cet acronyme désigne en
fait 2 protocoles étroitement liés : un protocole de transport, TCP (Transmission Control
Protocol) qu'on utilise "par-dessus" un protocole réseau, IP (Internet Protocol). Ce qu'on
entend par "modèle TCP/IP", c'est en fait une architecture réseau en 4 couches dans laquelle
les protocoles TCP et IP jouent un rôle prédominant, car ils en constituent l'implémentation la
plus courante. Par abus de langage, TCP/IP peut donc désigner deux choses : le modèle
TCP/IP et la suite de deux protocoles TCP et IP.
Le modèle TCP/IP, comme nous le verrons plus bas, s'est progressivement imposé
comme modèle de référence en lieu et en place du modèle OSI. Cela tient tout simplement à
son histoire. En effet, contrairement au modèle OSI, le modèle TCP/IP est né d'une
implémentation ; la normalisation est venue ensuite. Cet historique fait toute la particularité
de ce modèle, ses avantages et ses inconvénients.
Description du modèle :
Le modèle TCP/IP peut en effet être décrit comme une architecture réseau à 4 couches :
1 Application
2 Transport
3 Routage
4 Réseau
Figure 2 : Modèle TCP/IP en 4 couches
La couche réseau physique équivaut aux couches physiques et liaison du modèle OSI.
En pratique, dans la majorité des cas, la couche réseau physique du modèle Internet est la
norme Ethernet IEEE 802.3. Ce n'est nullement la seule possibilité.
i) Adresse IP
Chaque ordinateur du réseau Internet dispose d‟une adresse IP unique sur 32 bits. Une
adresse IP est souvent représentée en notation décimale. Chaque octet (avec une valeur de 0 à
255) est séparé des autres par un point. L'adresse 255.25.25.25 constitue un exemple
d'adresse IP. Chaque adresse IP a une valeur de masque de réseau associée, codée sur 32 bits.
Les adresses IP sont réparties entre différentes catégories appelées classes. Ces classes
sont résumées dans le tableau suivant:
128. 0. 0. 0 à 255.255.0.0
B
191.255.255.255
ii) Le routage
Les routeurs sont des ordinateurs qui assument sur Internet la tâche de relier les réseaux
entre eux. Lorsqu‟un paquet de données doit être envoyé à un ordinateur d'un autre réseau, il
doit tout d‟abord être envoyé à un routeur. On doit alors spécifier une passerelle IP (l'adresse
du routeur).
La couche transport
Cette couche supporte deux protocoles UDP et TCP, suivant le mode de communication
entre les processus.
Le protocole UDP utilise IP pour acheminer, d'un ordinateur à un autre, en mode non
fiable des datagrammes qui lui sont transmis par une application. UDP n'utilise pas d'accusé
de réception et ne peut donc pas garantir que les données ont bien été reçues. Il ne réordonne
pas les messages si ceux-ci n'arrivent pas dans l'ordre dans lequel ils ont été émis et il n'assure
pas non plus de contrôle de flux. Il se peut donc que le récepteur ne soit pas apte à faire face
au flux de datagrammes qui lui arrivent. C'est donc à l'application qui utilise UDP de gérer les
problèmes de perte de messages, duplications, retard, etc.
Contrairement à UDP, TCP est un protocole qui procure un service de flux d'octets
orienté connexion et fiable. Le terme orienté connexion signifie que les applications
dialoguant à travers TCP sont considérées l'une comme un serveur, l'autre comme un client, et
qu'elles doivent établir une connexion avant de pouvoir dialoguer. Les ordinateurs vérifient
donc préalablement que le transfert est autorisé, que les deux machines sont prêtes en
s'échangeant des messages spécifiques. Une fois que tous les détails ont été précisés, les
applications sont informées qu'une connexion a été établie et qu'elles peuvent commencer
leurs échanges d'informations. Il y a donc exactement deux extrémités communiquant l'une
avec l'autre sur une connexion TCP.
V. Le Client-serveur [03]
C‟est un modèle informatique basé sur le traitement distribué selon lequel un utilisateur
lance un logiciel client à partir d‟un ordinateur relié à un réseau, déclenchant simultanément le
lancement d‟un logiciel serveur situé dans un autre ordinateur possédant les ressources souhaitées
par l‟utilisateur.
VI.1. Définition
Internet est un réseau informatique international réalisant l'interconnexion d'un nombre
croissant de réseaux de toutes dimensions. Initialement destiné à la recherche, il s'est
considérablement développé. Conçu aux États-Unis, Internet repose sur des solutions
pragmatiques : il constitue un service sans ouverture de connexion préalable et sans garantie de
fiabilité ; les équipements des utilisateurs et des serveurs assurent les traitements nécessaires pour
rendre fiables les échanges.
VI.2. Historique :
Internet est issu des technologies développées au cours des années 70 par la DARPA qui
s‟appelait ARPANET (une organisation liée à l‟armée américaine). A l‟origine, l‟objectif de cette
organisation était d‟interconnecter les organismes militaires et les centres de recherche dans le
but de permettre le transfert fiable de données et d‟autre part d‟accéder à des centres dotés de
super calculateurs coûteux. Très vite le réseau draina un grand nombre d‟universités et
d‟entreprises privées impliquées dans le projet de recherche du gouvernement américain.
En 1983, l‟infrastructure de base actuelle (de l‟Internet) était achevée. Avec l‟arrivée des
différentes entreprises commerciales sur le réseau poussèrent l‟armée américaine à abandonner le
projet Internet pour laisser le champ à ces entreprises et les utilisateurs individuels. Alors depuis
ce temps, l‟Internet permet d‟échanger des messages électroniques (e- mails) et les fichiers FTP
entre les ordinateurs sauf que le mode d‟emploi de l‟Internet était compliqué. C‟était des lignes
de commandes presque incompréhensibles. Ce n‟est que vers les années 90 que l‟Internet a connu
un tel succès grâce au développement de l‟interfaçage graphique et l‟invention du WWW.
VI.3. Les principaux services de l’Internet [04]
On décrit ici de manière succincte quelques applications majeures que l'on trouve sur
Internet.
La messagerie électronique est l‟un des premiers services de l‟Internet, il date du milieu
des années 70. Il permet l‟envoi des messages entre les différents internautes en utilisant le
SMTP (Simple Mail Transfert Protocol) qui est le protocole Internet standard d‟envoi du
courrier électronique.
Pour la lecture des messages, les clients de messageries utilisent un autre protocole qui
est soit POP ou bien IMAP.
Les protocoles FTP (File Transfert Protocol) et TFTP (Trivial File Transfert Protocol)
permettent de transférer des fichiers d‟une machine à une autre. FTP est bâti sur TCP, tandis
que TFTP est bâti sur UDP.
L‟utilisation de FTP depuis un poste client pour aller chercher ou déposer un fichier sur
un serveur nécessite une connexion avec un nom et un mot de passe. Dans le cas d‟un serveur
FTP public, la connexion se fait avec le nom anonymous et il est conseillé de donner son
adresse email comme mot de passe.
Le principal avantage de GOPHER par rapport à FTP est qu‟on ne doit pas connaître
le nom d‟un fichier avant de le rechercher.
WAIS permet de rechercher des documents de différents formats (images, sons, vidéos
et textes) sur Internet. Elle fut la première base de données textuelle d‟Internet.
VI.3.5. Les news
On appelle les NEWS les forums de discussion sur le réseau Internet. Ces forums
permettent aux individus de participer activement en laissant ou en répondant à un message,
ainsi que de lire la liste de tous les messages présents dans ce forum.
Le protocole utilisé pour transférer les NEWS est NNTP (Network News Transfert
Protocol), il gère des connexions permanentes avec les serveurs voisins, mettant à jour
instantanément chaque nouveauté dans le forum.
Le WWW qui signifie “la toile d‟araignée planétaire” est un système d'information
graphique basé sur des liens hypertextes permettant de naviguer d'un site à un autre, sur
Internet. WWW intègre pratiquement l'ensemble des services présents sur les réseaux. Il a
tellement simplifié le travail sur Internet, que même les utilisateurs n'ayant aucune expérience
informatique apprennent immédiatement à se servir de son interface graphique. Le système
client de WWW sur l'ordinateur local (on l'appelle générale ment Web Browser ou
"navigateur") s'adresse à un serveur WWW du réseau.
Pour accéder au Web, il est nécessaire de disposer d‟un logiciel appelé navigateur Web.
L‟accès à un document est conditionné par la connaissance de sa localisation qui est exprimée
sous forme d’URL. Les clients et les serveurs dialoguent sur le Web en utilisant le protocole
HTTP.
TELNET est une application qui permet à un utilisateur de se connecter à distance sur un
ordinateur, pourvu que cet utilisateur y dispose d‟un accès autorisé. Elle permet de prendre le
contrôle (du moins partiellement) d‟un ordinateur distant. Il existe des clie nts TELNET pour
de nombreuses plateformes (UNIX, Windows, MacOs,…), elle est bâtie sur le protocole TCP.
VI.3.9. Le DNS
Le DNS (Domain Name System) est, en quelque sorte, un annuaire des ressources
réseau. Il permet de faire la correspondance entre le « no m » d‟une machine ou d‟un service et
une adresse IP. L‟adresse IP n‟étant pas facilement manipulable, surtout par les utilisateurs, la
notion de noms (c‟est-à-dire la désignation alphabétique non ambiguë) a été introduite. Le
DNS gère un espace de noms mondial, cohérent, indépendant des protocoles.
De cette façon, les machines clientes gèrent l'interface graphique, tandis que les
différents serveurs manipulent les données. Le réseau permet de véhiculer les requêtes et les
réponses entre clients et serveurs.
Des documents de tous types (textes, images, vidéos, sons, ...) peuvent être mis à
disposition sur un intranet. De plus, un intranet peut réaliser une fonction de groupware très
intéressante, c'est-à-dire permettre un travail coopératif. Voici quelques unes des fonctions
qu'un intranet peut réaliser :
Annuaire du personnel
Messagerie électronique
L‟Intranet permet :
Le partage de l‟information avec l‟ensemble du personnel de l‟entreprise et leurs
partenaires sans contraintes géographiques.
La recherche d‟information : l‟Intranet de l‟entreprise offre un point d‟accès unique à
des données stockées de différentes manières.
La récupération de l‟information en temps réel : les utilisateurs ont la possibilité de
prendre connaissance des documents les plus récents……
La manipulation des informations : les données dans l‟Intranet sont bien rangées et bien
structurées par l‟administrateur, l‟utilisateur final recevra ces informations via des outils de
bureau qui lui sont familiers, même si les formats sont différents.
L‟accélération d‟échange d‟informations entre collaborateurs de l‟entrepr ise.
De favoriser les prises de décisions compte tenu d‟une meilleure circulation de
l‟information.
……
Un intranet doit être conçu place). Ainsi, l'intranet ne doit pas être conçu par les seuls
informaticiens de l'entreprise mais selon un projet prenant en compte les besoins de toutes les
parties prenant de l'entreprise.
Pour ce qui est de la mise en place matérielle, il suffit de mettre en place un serveur web
(par exemple une machine fonctionnant sous Linux avec le serveur web Apache et le serveur
de bases de données MySQL ou bien un serveur sous Windows avec le serveur web
Microsoft Internet Information Server). Il suffit ensuite de configurer un nom de domaine
pour le serveur (par exemple intranet.votre_entreprise.com. Il est à noter l'existence de CMS
(systèmes de gestion de contenu) permettant de gérer la publication des pages par une équipe
de rédacteurs.
L'accès à l'extranet doit être sécurisé dans la mesure où cela offre un accès au système
d'information à des personnes situées en dehors de l'entreprise.
Il peut s'agir soit d'une authentification simple (authentification par nom d'utilisateur et
mot de passe) ou d'une authentification forte (authentification à l'aide d'un certificat). Il est
conseillé d'utiliser HTTPS pour toutes les pages web consultées depuis l'extérieur afin de
sécuriser le transport des requêtes et des réponses HTTP et d'éviter notamment la circulation
du mot de passe en clair sur le réseau.
Une des applications les plus connues développées sur Internet est le WWW (World Wide
Web, ou simplement Web). C'est une application conviviale de consultation à distance de pages
d'informations multimédia. Son principal intérêt est de pouvoir atteindre, à partir d'une page,
d'autres pages stockées sur des ordinateurs éventuellement très éloignés. La simplicité et
l'esthétique soignée du Web ont contribué à sa popularité et à la diffusion d'Internet dans le grand
public. Désormais, Internet prend une place prépondérante dans la vie quotidienne et de nouvelles
utilisations sont en pleine expansion (commerce électronique, diffusion d'images fixes.
Conclusion :
Dans ce chapitre nous avons abordé les généralités sur les réseaux, et les différentes
notions liées à l‟internet, intranet, extranet, le client serveur. Elles constituent la base de notre
travail.
2
Présentation du labo
LAMOMS
I. Introduction
Les recherches entreprises ont permit à beaucoup d‟enseignants de soutenir leurs travaux
de thèses. Par conséquent, cela les a aidés d‟évaluer leurs carrières universitaires. Cependant
ce laboratoire est constitué de cinq équipes
Directeur
Conclusion
3
Analyse et conception
Introduction
I. Démarche suivie
Identification
des acteurs
Partie Conception
Diagramme
des cas
d’utilisation
Identification Diagrammes de
des activités robustesse et de
séquence simple
Diagrammes de
séquence de
réalisation
Diagramme de
Partie analyse et spécification des besoins classe
Application web
ACCUEIL
Documentation A propos
Présentation
Contacts
« Extend »
« Extend »
« Extend »
« Extend »
« Extend » Actualités
Annuaire « Extend »
Thèmes et équipes
« Extend »
»»»
« Uses »
« Extend »
Membre
« Extend » Administrateur
Visiteur
Ajout
publication
Courrier
Changer mot de
«Extend »
« Extend»
« Extend »
passe
Chercheur
« Uses »
Profil
Authentification
« Extend» Supprimer
chercheur
Accéder a l’interface
Directeur
Directeur
»»
« Uses
Gérer la base de données
« Extend » Ajouter un
« Extend»
enregistrement
« Extend » Supprimer un
enregistrement
Consulter et ou
modifier une table
Un objet interface représente l‟interface entre l‟acteur et le système tels des pages Web
complètes dans le cas des applications Web ou les écrans de saisie.
L’icône :
L’icône :
Il représente les activités des processus du système .Ils dirigent les activités des objets entité
et interface. Ces objets sont obtenus en isolant les verbes des cas d‟utilisations, quant aux
noms, ils donneront naissance à des objets entité.
L’icône :
Dans les diagrammes de classe les associations entre objets doivent respecter un certain
nombre de règles qui sont les suivantes:
Page d‟accueil
Formulaire d‟identification.
Page de confirmation.
Objets de contrôle :
Identifier chercheur.
Objet entité :
Identification de chercheur.
Diagramme de robustesse :
Page
d’accueil
Identifier
Chercheur Chercheur Identification Chercheur
chercheur
Page confirmation
Diagramme de séquence :
Figure 5: Diagramme de séquence du cas d‟utilisation « Identification d’un
chercheur »
Objets interface :
Objets entité :
Compte chercheur
Diagramme de robustesse
Chercheur
Chef d’équipe
Diagramme de séquence :
Figure 7 : Diagramme de séquence du cas d‟utilisation « créer un compte chercheur ».
(I) Le chercheur chef d‟équipe atteint sa propre page d‟accueil puis sélectionne le lien
« Ajouter ».
(II) Le système affiche le formulaire pour créer un compte chercheur.
(III) Le chercheur chef d‟équipe saisit les références du chercheur et soumet le formulaire.
(IV) Le système vérifie et créer le compte chercheur et confirme la création.
Objet interface :
Formulaire d‟authentification
Page chercheur
Formulaire changer mot de passe.
Page confirmation de changement de mot de passe.
Objets de contrôles :
Vérifier authentification.
Modifier mot de passe.
Objets entités :
Mot de passe chercheur.
Diagramme de robustesse :
Diagramme de séquence :
Figure 9: Diagramme de séquence du cas d‟utilisation « changer mot de passe ».
(I) Le chercheur atteint sa propre interface puis sélectionne le lien « changer mot de
passe ».
(II) Le système affiche le formulaire « changer le mot de passe ».
(III) Le chercheur remplie le formulaire « changer le mot de passe ».
(IV) Le système vérifie et modifier dans la base de données le mot de passe et construit
un message de confirmation et l‟affiche.
Objets interface :
Objet de contrôle :
Objets entités :
Chercheur
Diagramme de robustesse
Figure 10: Diagramme de robustesse pour le cas d‟utilisation « Gére r la base de données »
Diagramme de séquence :
Figure 11: Diagramme de séquence du cas d‟utilisation «Gé rer la base de données »
Exemple : Modifier chercheur.
Cette étape consiste en la transformation des objets d‟interface et de contrôle en page client et
serveur.
Formulaire
Page Vérifier / Page
d’identification Chercheur
Chercheur accueil Confirmer confirmation
Le système affiche le
Affiche
formulaire
d’identification
Le chercheur remplit
le formulaire Saisie Soumet
d‟identification
Vérifie/confirmer
Le système vérifie
l‟identification du
chercheur et lui Construit
affiche sa propre Affiche
interface
Le chercheur chef
Page
confirmation
Formulaire
Page Changer mot Vérifier / Page
Chercheur chercheur de passe Modifier Chercheur confirmation
Le chercheur remplit
Saisie Soumet
le formulaire
« changer mot de
passe
Vérifie/Modifier
Le système vérifie et
modifie dans la BD le
Construit
mot de passe,
Affiche
construit un message
de confirmation et
l‟affiche
Formulaire Modifier/
Enregistre Page
modifier Vérifier
Chercheur chercheur confirmation
Administrateur chercheur dans la BD
L administrateur
atteint la page du Atteint
formulaire, clique
sur modifier le Soumet
remplit puis clique
sur enregistrer
Modifier/
Le système modifier
Vérifier
le chercheur et vérifier
en suite les
informations saisies
Le système confirme
la modification Construit
Confirmation
Figure 15: diagramme de séquence élaboré du cas d‟utilisation « gé rer la base de données»
Attributs
Operations ()
Un diagramme de classe représente la structure statique d‟un système. Il contient des classes
et leurs associations et éventuellement des objets. L‟intérêt majeur des diagrammes de classe
est de modéliser les entités d‟un système.
Classes entités : Elles permettent de modéliser toutes les informations que l‟on veut
gérer
Les classes acteurs : Elles représentent les rôles attribués.
Les classes processus : Elles permettent de répertorier les activités organisées pour
accomplir les missions.
Autres processus : Cette catégorie regroupe toute les classes qui ne sont ni acteur ni
processus
Apres les diagrammes de séquence des différents cas d‟utilisations représentés, nous allons
passer aux diagrammes de classes généraux puis détaillés qui représentent une vue logique
des objets.
Formulaire
Page « Link »
d’identification
d’accueil
chercheur
« Submit»
« Build» « Build»
Page confirmation Vérifier /Confirmer Page d’erreur
Diagramme de class générale du cas d’utilisation « Créer un compte chercheur»
« Submit»
« Build» « Build»
Page confirmation Vérifier /Créer Page d‟erreur
, « Link»
Page Formulaire « Submt» Vérifier/ «Build»
chercheur changer mot Modifier
de passe
« Redirect»
« Build» Construit
Page d‟erreur Page
Page
message erreur confirmation
confirmation
Diagramme de class générale du cas d’utilisation « Gérer la base de données»
Verifierentrer()
Valider-id()
« redirect »
« redirect » « Build »
« server page »
« Client page » « Build » Construit
Erreurb réécriture message erreur
incorrecte du mot de « Client page »
Message
passe Page
confirmation
Afficher_erreur()
Diagramme de classe détaillé du cas d’utilisation « créer un compte chercheur »
Valider-id()
« Build »
« Submit »
« Client page »
« Server page » Page d’erreur
« Server page »
Préparation de la page
« redirect » Identification
chercheur chef d’équipe
Verifier entrer()
« Build »
Parcourir_BD()
« link »
« Build »
Vérification
« redirect »
Membre
« Server page »
Enregistrer
Client page »
Id_ch
Page confirmation « Build »
Enregistrer()
Le lien « Link »
C‟est une association entre page client et une page client ou serveur.
Le Construit « Build »
Une page client ne peut être construite que par une page serveur.
Le lien « Redirect » :
Une relation « Redirect » qui est une association unidirectionnelle avec une autre page Web,
peut être dirigée à partir d‟une page client ou serveur.
id_thème idrep id
1,1
supervise
chef equipe directeur
1,1
1,N 1,N
gérer 1
gérer 2
Figure 16 : Le MCD
Le schéma relationnel
Table « equipe »
Champ Signification Type
Id_equipe Identifiant équipe Int(6) clé primaire
nom_resp Nom du responsable de Varchar(25)
l‟équipe
prenom_resp Prénom du responsable de Varchar(25)
l‟équipe
Table « chercheur »
Champ Signification Type
id_membre Identifiant membre Int(6) clé primaire
nom Nom du membre Varchar(25)
prenom Prénom du membre Varchar(25)
grade Grade du membre Varchar(50)
qualite enum('CE','CP','M')
domaine_de_competence domaine de compétence Varchar(50)
num_equipe Numéros de l‟équipe du Int(6) clé étrangère
membre
etablissement_de_rattachement Etablissement de Varchar(100)
rattachement
login Login du membre Varchar(50)
pass Mot de passe du Varchar(15)
membre
E_mail E_mail du membre Varchar(50)
Table « publication »
Champ Signification Type
id_pub Identifiant publication Int(6) clé primaire
titre Titre publication text
type Type publication enum('national','international')
id_membre Identifiant du membre Int (11) cl étrangère
Table « thè me »
Champ Signification Type
id_thème Identifiant du thème Int(6) clé primaire
Intitule Intitulé du thème varchar(25)
num_equipe Numéros de l‟équipe qui Int(6) clé étrangère
travail sur le thème
Table « faq_question »
Champ Signification Type
Id Identifiant de la question Int(6) clé primaire
auteur Login de l‟auteur varchar(50)
sujet Sujet de la question varchar(100)
text Contenue de la question longtext
date Date de la soumission de la datetime
question
Table « faq_reponse »
Champ Signification Type
idrep Identifiant de la réponse Int(6) clé primaire
auteurrep Login du répondant varchar(50)
textrep Contenue de la longtext
daterep Date de la réponse datetime
Conclusion :
A la fin de ce chapitre, on aura cerné toutes les informations manipulées par les différents
utilisateurs de notre application (l‟administrateur, les chercheurs, le chercheurs chefs
d‟équipes, le directeur du laboratoire et les visiteurs), il ne reste qu‟a mettre en œuvre une
plate forme pour la réalisation de notre application. Ce que sera l‟objet de notre chapitre
suivant.
CHAPITRE
4
Réalisation
Introduction
Serveur
Serveur Web API BDD
(Apache)
API Serveur
Requête Module FTP
HTTP php
Réponse
WWW
Serveur
Serveur
API
SMTP
BDD
(mysql)
Premier niveau Deuxième niveau Troisième niveau
Premier niveau : il comprend le navigateur qui interprète et affiche les interfaces utilisateur
relatives aux différents services de l‟application ;
Deuxième niveau : le deuxième niveau est constitué d‟un serveur Web Apache doté de
module PHP (l‟interpréteur PHP est installé comme module Apache) ;
Troisième niveau : le troisième niveau est composé d‟un serveur de base de données
(MYSQL) performant souple et disposant d‟un jeu de commande s SQL large, un serveur FTP
qui assure un transfère de fichiers rapide et un serveur SMTP qui permet l‟échange de
messages.
I.2. L’environnement de développement
Pour satisfaire les besoins de l‟application à réaliser, nous avons utilisé les langages
suivants :
PHP (Hypertext Preprocessor) est un langage de script côté serveur, c‟est à dire que les
scripts sont exécutés avant que la page ne soit envoyée au navigateur, Ses principaux
avantages sont :
PHP est facile à utiliser, il permet de créer avec un minimum d‟efforts des pages Web
dynamiques destinées aux applications Internet multimédia et de E-commerce.
PHP est multiplateforme, il existe pour les différentes versions de Windows, Unix et
Linux, ainsi que pour de nombreux serveurs Web dont APACHE et IIS (Internet Information
Services).
PHP est libre, donc « OPEN SOURCE », on peut ajouter de nouvelles fonctionnalités
sans attendre une nouvelle version.
PHP a été conçu pour fonctionner sur le Web, la connexion et l‟interrogation d‟une
base de données sont extrêmement simples (peuvent être accomplies en deux ou trois lignes
de code).
La plus grande qualité et le plus important avantage du langage PHP est le support
d‟un grand nombre de bases de données (plus de 20). PHP possède des fonctions ODBC,
permettant de s‟interfacer de manière conviviale à toute base de données ODBC (Open Data
Base Connectivity).
Avec plus de 1200 fonctions utilisables dans des applications très variées, PHP couvre
pratiquement tous les domaines en rapport avec les applications Web.
Le code PHP fait partie intégrante de la page HTML, il est inclus entre :
< ? PHP ………instruction …….. ?>
< ? php ……….instruction …….. ?>
< ? ……..instruction …….. ?>
< % ……..instruction …….. %>
< script langage= « PHP » >
………….instruction………..
< / script>
<HTML>
<HEAD>
….
</HEAD>
<BODY>
< ?php
…instructions Php…
?>
IL est à noter la différence avec :
Les autres langages de scripts coté serveur tels que le Perl ou les servelets Java, qui
doivent écrire un programme avec de nombreuses lignes de commandes afin d‟afficher une
page HTML, alors qu‟ on écrit une page HTML avec du code PHP inclus à l‟intérieur.
Les autres langages de script coté client comme le Java script sont exécutées par le
navigateur, alors que le code PHP est exécuté sur le serveur. Si on a un script PHP sur un
serveur, le client ne reçoit que le résultat du script, sans aucun moyen d‟avoir accès au code
qui a produit ce résultat.
Le serveur Web reconnaît à l‟extension des fichiers, différente de celle des pages HTML
simples, si le document appelé par le client comporte du code PHP.
Les commandes figurant dans la page sont interprétées et le résultat prend la forme
d‟une page HTML publiée à la place du code source dans le même document ;
La page modifiée est envoyée au client pour y être affichée par le navigateur.
De cette façon la page Web est crée dynamiquement, c‟est à dire au moment même ou le
client y accède. Cela permet donc de modifier la page avant qu‟elle ne soit envoyée au client
en fonction de dialogue avec l‟utilisateur.
I.2.2. Outil de développe ment
L‟ancêtre d‟apache est le serveur libre développé par le (National Center for Supercomputing
Applications) de l‟université de l‟Illinois. L‟évolution de ce serveur s‟est arrêtée lorsque le
responsable a quitté le NCSA en1994, les utilisateurs ont continué à corriger les bugs et à
créer des extensions qu‟ils distribuaient sous forme de "patches " (bouts de programmes
ajoutés par les utilisateurs des NCSA pour étendre les fonctionnalités d‟Apache) d‟où le
nom "a patch.
Nous choisissons et présentons ce serveur par les avantages qu‟il offre et que nous allons
détailler ci-après :
c‟est un serveur gratuit (peut être téléchargé à partir du site du groupe Apache à
l‟adresse „http://www.apache.org‟).
un niveau élevé de performances pour des besoins matériels modestes.
extensible, modulaire et configurable.
robuste.
très portable contrairement à IIS (Internet Information Services) de Microsoft qui
tourne seulement sous Windows, le serveur Web Apache dispose d‟une version pour chaque
plate forme (Linux, Windows,…).
I.2.2.2. Serveur MySQL [07]
I.2.2.2.1. MySQL
MYSQL est basé sur une bibliothèque de gestion de données éprouvées depuis de
nombreuses années et faisant appel à des index d‟arbres binaires. Grâce à cela, le cœur du
système peut afficher une performance remarquable, tout particulièrement dans les accès
indexés.
APIs : Les applications de bases de données MySQL peuvent être écrites en C, C++,
Eiffel, JAVA, PERL, PHP, PYTHON et TCL.
Rapide, Robuste et Convivial : MySQL est de trois à quatre fois plus rapide que la
plupart des autres bases de données commerciales : les fonctions SQL sont implémentées à
travers des classes de librairies extrêmement optimisées. En général, il n‟y a plus d‟allocation
mémoire après une requête d‟initialisation.
Les développeurs de MySQL utilisent MySQL depuis 1996 dans un environnement de plus de
40 bases de données contenant 10000 tables, dont plus de 500 contiennent plus de 7 millions
d‟enregistrements. C‟est environ 100 Giga Octets de données critiques.
Sa gestion est aisée puisqu‟elle ne nécessite pas des compétences poussées en administration
de bases de données
La variante de FTP protégée par les protocoles SSL ou TLS (SSL étant le prédécesseur
de TLS) s'appelle FTPS.
FTP obéit à un modèle client-serveur, c'est-à-dire qu'une des deux parties, le client,
envoie des requêtes auxquelles réagit l'autre, appelé serveur. En pratique, le serveur est un
ordinateur sur lequel fonctionne un logiciel lui- même appelé serveur FTP, qui rend public une
arborescence de fichiers similaire à un système de fichiers UNIX. Pour accéder à un serveur
FTP, on utilise un logiciel client FTP (possédant une interface graphique ou en ligne de
commande).
1. Mode actif : c'est le client FTP qui détermine le port de connexion à utiliser pour
permettre le transfert des données. Ainsi, pour que l'échange des données puisse se faire, le
serveur FTP initialisera la connexion de son port de données (port 20) vers le port spécifié par
le client. Le client devra alors configurer son pare-feu pour autoriser les nouvelles connexions
entrantes afin que l'échange des données se fasse. De plus, il peut s'avérer problématique pour
les utilisateurs essayant d'accéder à des serveurs FTP lorsqu'ils sont derrière une passerelle
NAT (Network Adresse Translation). Étant donnée la façon dont fonctionne le NAT, le
serveur FTP lance la connexion de données en se connectant à l'adresse externe de la
passerelle NAT sur le port choisi. Certaines passerelles NAT n'ayant pas de correspondance
pour le paquet reçu dans la table d'état, le paquet sera ignoré et ne sera pas délivré au client.
2. Mode passif : le serveur FTP détermine lui- même le port de connexion à utiliser pour
permettre le transfert des données (data connexion) et le communique au client. En cas de
présence d'un pare- feu devant le serveur, celui-ci devra être configuré pour autoriser la
connexion de données. L'avantage de ce mode, est que le serveur FTP n'initialise aucunele
client initialise et communique directement par le port 21 du serveur; cela permet de
Une boîte de domaine est une boîte par exemple de type societe.herbergeur.fr voir
même societe.fr. Ou société est le nom de l‟entreprise qui désire avoir une boite de domaine
et hébergeur, le nom de votre fournisseur d‟accès.
A intervalle régulier (à définir selon les besoins), un serveur (comme MERCURY par
exemple) va chercher le courrier sur CIEL et le redistribue dans les différentes boîtes E-Mail.
L‟avantage de ce système c‟est que on peut créer autant de boites qu‟ont désire
puisque c‟est sur le serveur de messagerie interne que sont créés les comptes. De plus chaque
utilisateur ne se connecte pas dans son coin sur INTERNET pour aller relever son E-Mail,
c‟est le serveur de messagerie qui relève le courrier à heure fixe ou à intervalles réguliers…
I.2.2.5. XAMPP
L'assistant d'installation de XAMPP win32. Quand l'installation est complétée, vous trouverez
XAMPP sous Démarrer / Programmes / XAMPP. Grâce au panneau de contrôle XAMPP,
vous pouvez démarrer/arrêter chacun des serveurs et installer/désinstaller les services.
I.2.2.5.2. Lancer XAMPP [3]
XAMPP n'est pas destiné à un usage en production mais seulement pour des développeurs
dans un environnement de développement. XAMPP est configuré de façon à être le plus
ouvert possible pour permettre au développeur de faire ce qu'il veut. Ceci est intéressant dans
un contexte de développement mais en production ceci pourrait s'avérer fatal.
Donc, on doit sécuriser XAMPP avant de publier quoi que ce soit en ligne. Parfois, un coupe-
feu ou un routeur externe sont suffisants pour la sécurité. On doit d'abord utiliser la console de
sécurité web XAMPP.
Le mot de passe root de MySQL et phpMyAdmin, ainsi qu'une protection sur le répertoire
XAMPP peuvent être établis ici. Pour Mercury et FileZilla, il faut modifier les réglages
(utilisateur et mot de passe).
Spyce Python, exécutable sous .\xampp\htdocs\python, extensions permises: .spy => ajout
Python.
Vous faites vos ajustements dans XAMPP via les fichiers de configuration classiques en mode
texte.
Répertoires Contenues
\xampp\anonymous Exemple pour FTP anonyme
\xampp\apache Serveur Apache
\xampp\cgi-bin Scripts d'exécution cgi
\xampp\FileZillaFTP FileZilla FTP server directory
\xampp\htdocs Documents http
\xampp\install Pour configuration de XAMPP (ne pas
effacer!)
\xampp\licenses (même)
\xampp\MercuryMail Serveur Mercury Mail (SMTP POP3 IMAP)
\xampp\mysql Serveur MySQL
\xampp\perl Perl
\xampp\php PHP (4+5)
\xampp\phpmyadmin phpMyAdmin
\xampp\security Configuration de sécurité
\xampp\tmp Temporaire
\xampp\webalizer Statistiques web Webalize
\xampp\webdav Exemple pour "WebDAV Authoring"
MySQL démarre sans mot de passe pour "root". Donc en PHP vous pouvez vous
connecter au serveur MySQL avec : mysql_connect("localhost","root","");
Pour ébablir un mot de passe root pour MySQL, vous pouvez utiliser "mysqladmin" en mode
console. Par exemple:
En conséquence, le mot de passe correct pour root devra être fourni avant que phpMyAdmin
ne puisse démarrer.
I.2.2.6. PhpMyAdmin
PhpMyAdmin est un utilitaire rendant plus conviviale l‟administration de base de
données MySQL. Il consiste en un ensemble de scripts PHP permettant d‟administrer des
bases de données MySQL en passant par un navigateur web.
Dans ce qui suit, nous allons présenter quelques interfaces de notre application :
L’interface graphique : Page d‟accueil de l‟application
Cette interface est considérée comme un passage obligatoire pour tous les visiteurs de ce
portail d‟accès.
L’interface graphique : Identification d‟un membre du labo.
Apres avoir sélectionné le lien « Membres » sur la page d‟accueil cette interface intermédiaire
lui est présentée pour identification, Apres avoir saisie ses coordonnées d‟identifications il
clique sur le bouton « Connexion » afin d‟avoir accès a la page lui permettant de travailler
dans son espace réservé. Si toutefois les informations fournies sont correctes sinon il recevra
un message d‟erreur.
Le chercheur après avoir eu son « login » et son « mot de passe », il sélectionne le lien
« Membre » dans la page d‟accueil et après validation de son identification, Il accède a sa
page présentée ci-dessus. Cette page lui permet d‟exécuter ses taches.
L’interface graphique : Page chercheur chef d‟équipe :
Cette interface est utilisée après avoir choisi le lien « Ajouter » dans la page du chercheur chef
d‟équipe, Elle permet la saisie des cordonnées d‟un chercheur affecté a une équipe donnée, Le
contrôle des valeurs saisies dans tout les champs se fera par le JavaScript, et après validation
de création de compte. Le nouveau chercheur aura son « login » et son « mot e passe » qui lui
seront communiqués.
Cette interface est utilisée après avoir choisi le lien « Supprimer » dans la page du chercheur
chef d‟équipe, Elle permet de saisir le « login » et le « mot de passe » du chercheur a
supprimer , en suite cliquer sur le bouton supprimer et un message de confirmation de la
suppression est envoyé si les cordonnées saisies sont valides et dans le cas contraire un
message d‟erreur sera envoyé .
Cette interface est utilisée après avoir choisi le lien « Ajout publication» dans la page du
chercheur ou chercheur chef d‟équipe ou directeur, Elle permet de saisir le « titre » et le
« type » de la publication, en suite cliquer sur le bouton « parcourir » pour charger le chemin
de la publication a ajouté et un message de confirmation lui sera envoyé.
Cette interface est utilisée après avoir choisi le lien « Forum» dans la page du chercheur chef
d‟équipe ou directeur, Elle permet de cliquer sur le bouton ajouter pour poser une question a
l‟ensembles des membres du labo ou bien de cliquer sur le bouton « + » pour répondre a une
question posée par un chercheur ou voir les réponses de cette question.
Cette interface est utilisée après avoir choisi le lien « Courrier» dans la page du chercheur ou
chercheur chef d‟équipe ou celle du directeur, Elle permet de cliquer sur le bouton « boite de
réception » pour voir s‟il ya des nouveaux messages à lire ou nom, comme elle permet de
cliquer sur le bouton « Nouveau message » pour écrira un message a un chercheur bien précis.
Cette interface est utilisée après avoir choisi le lien « Equipe» dans la page du directeur, Elle
permet d‟ajouter ou de supprimer une équipe de recherche dans le labo.
Conclusion
Dans ce chapitre nous avons au premier lieu présenté l‟environnement et les outils
utilisés pour implémenter notre projet. Puis nous avons prése nté des exemples d‟interfaces de
notre application.
Annexe
Introduction
Dans ce présent chapitre nous allons présenter l‟UML ainsi que son extension pour le Web
I. UML
Au début des années 90, un certain nombre de méthodes objet commençait à couvrir la
partie analyse et conception du cycle de développement du logiciel. Le premier phénomène
observé a été celui de l‟émergence de trois méthodes.
Ainsi, après la cinquantaine de méthodes qui existaient au début des années 90,
seulement trois d‟entre elles se sont détachées nettement après quelques années :
UML fournit une panoplie d‟outils permettant de représenter l‟ensemble des éléments
du monde objet (classe, objet, …etc.) ainsi que les liens qui les relient, il s‟articule auteur de
plusieurs types de diagrammes, chacun d‟eux étant dédié à la représentation des concepts
particuliers d‟un système logiciel. UML modélise le système suivant trois modes de
représentation : le premier décrit les services fonctionnels rendus par le système, le second
concerne la structure statique du système, le troisième concerne sa dynamique de
fonctionnement. Les trois représentations sont nécessaires et complémentaires pour
schématiser la façon dont est composé le système et comment ses composantes fonctionnent
entre elles.
Fonctionnel
Dynamique
Statique
Figure1 : Les axes de modélisation UML.
Diagramme fonctionnel :
De point de vue utilisateur, le diagramme de cas d‟utilisation défini les limites du système et
les relations entre le système et l‟environnement.
Un cas d‟utilisation est une façon d‟utiliser le système. L‟intérêt majeur de ce système est de
représenter les fonctionnalités du système selon les besoins des utilisateurs.
Le diagramme d‟objet permet de mettre en évidence des liens entre les objets, instance de
classe reliée par une instance d‟association.
Le diagramme d‟objet utilise les mêmes concepts que le diagramme de classe.
Ce diagramme est utilisé pour illustrer les parties complexes d‟un diagramme de classe.
Ce diagramme montre la disposition physique des différents matériels, (les nœuds) qui entrent
dans la composition d‟un système et de la repartions des diagrammes exécutables sur ces
matériels.
Le diagramme de séquence montre les interactions entre objets selon un point de vue
temporel, le contexte des objets n‟est pas représenter d‟une manière explicite. La
représentation se concentre sur la représentation des interactions.
Il est attaché a une classe, processus, acteur ou entité, a un cas d‟utilisation ou bien a une
opération.
Le diagramme de collaboration met en place les interactions entre les différents objets du
système étudié et les messages qu‟ils échangent. Dans le cadre de l‟analyse, ce diagramme est
utilisé pour faire apparaitre les échanges d‟information entre le système étudie et les autres
systèmes.
L‟ensemble de ces 9 diagrammes UML peut ainsi être repartis sur les trois axes de
modélisation, comme indiqué sur la figure suivante :
Fonctionnel
Diagramme de cas
d‟utilisation
II.1. Introduction
À l‟heure actuelle, toute technique de modélisation doit prendre en compte, non seulement les
éléments pertinents, propre au Web, tels que les pages Web et les liens hypertextes, mais aussi
leurs relations avec les éléments d‟arrière-plan du système, tels que les couches intermédiaires
et les bases de données.
UML (Unified Modeling Language) est une notation qui permet de traduire
graphiquement les modèles de systèmes logiciels. Techniquement UML est un langage, mais
comme tous les langages, il exprime les choses d‟un certain point de vue. En pratique, UML
traduit les modèles et les conceptions de systèmes d‟une façon orientée objet, que ces
systèmes soient des applications de gestion classique ou des systèmes temps réel embarqués.
UML est une démarche très utilisée, mais inadaptée pour exprimer des concepts Web,
d‟où la naissance de WAE (Web Application Extension, extension pour application Web), qui
complète la notation UML avec une sémantique et des contraintes permettant d‟intégrer des
éléments d'architecture Web dans le reste du modèle système.
II.2. L’extension d’UML pour le Web
Un stéréotype : c‟est une extension du vocabulaire d‟UML. Il permet d‟assurer une nouvelle
signification à un élément du modèle. Un stéréotype est représenté soit par une nouvelle
icône, soit par une chaîne de caractères entre guillemets (« »).
Une étiquette : c‟est une extension de propriétés d‟un élément du modèle. La plupart des
éléments du modèle possèdent des propriétés ; les classes, par exemple, possèdent entre
autres, un nom, une visibilité et une persistance. L‟étiquette est représentée, dans un
diagramme, par une chaîne de caractères entre cheverons (< >).
Une contrainte : est une extension de la sémantique d‟UML. La contrainte édicte une règle
que le modèle doit vérifier pour être qualifié. Les contraintes sont représentées par des chaîne
de caractères entre accolades ({ }).
Métaclasse : Classe
Description :
Une page serveur représente une page Web qui possède des scripts exécutés par le serveur.
Ces scripts interagissent avec les ressources serveur, tels que bases de données ou systèmes
externes. Les opérations de l‟objet représentent les fonctions dans le script et ses attributs
représentent les variables qui sont visibles dans la portée de la page.
Icône :
Contraintes :
Les pages serveur ne peuvent avoir de relation qu‟avec des objets sur le serveur.
Étiquettes :
Moteur de script (scripting engine) : soit le langage, soit le moteur, qui doit être utilisé pour
exécuter ou interpréter cette page (PHP, Java script, etc.).
Métaclasse : classe
Description :
Une instance d‟une page client est une page Web formatée en HTML, mélange de
données, de présentation et même de logique. Les pages client, qui sont restituées par des
navigateurs client, peuvent contenir des scripts interprétés par les navigateurs. Les fonctions
d‟une page client correspondent aux scripts de la page Web. Les attributs de la page client
correspondent aux variables déclarées dans les scripts qui sont accessibles à toute fonction de
la page (portée de la page). Les pages client peuvent entretenir des associations avec d‟autres
pages client ou serveur.
Icône :
Contraintes :
Aucune.
Etiquettes :
Titre (Title) : titre de la page tel qu‟il est affiché par le navigateur.
Base (Base) : URL de base pour dé référencer les URL relatives.
Corps (Body) : ensemble des attributs de la balise <body>, qui définit des
caractéristiques par défaut du texte et de l‟arrière-plan.
Métaclasse : classe
Description :
Une classe stéréotypée « form » est un ensemble de champs de saisie faisant partie
d‟une page client. À une classe formulaire correspond une balise HTML <form>. Les attributs
de cette classe correspondent aux éléments de saisie d‟un formulaire HTML (zones de saisie,
zones de texte, bouton d‟option, case à cocher et éléments cachés).
Un formulaire n‟a pas d‟opérations, puisqu‟ il ne peut les encapsuler. Toute opération qui
interagit avec le formulaire appartient à la page qui la contient.
Icône :
Contraintes :
Aucune.
Étiquettes :
Méthode _GET ou POST_ utilisée pour soumettre les données à l‟URL de l‟attribut
action de la balise HTML <form>.
Métaclasse : classe.
Description :
Une structure de cadre est un conteneur de plusieurs pages Web. La zone d‟affichage
rectangulaire est devisée en cadres rectangulaires inscrits. À chaque cadre peut être associé un
nom unique de cible (« target »).
Le contenu d‟un cadre peut être une page Web ou une structure de cadre.
Une classe stéréotypée « frameset » est directement associée à une structure de cadre
de page Web par la balise HTML <frameset>.
Parce qu‟une structure de cadre est une page client, elle aussi peut posséder des
opérations et des attributs, mais ceux-ci ne sont déclenchés que par les navigateurs non
compatibles avec les cadres.
Icône :
Contraintes :
Rangées (raws) : valeur de l‟attribut rows de la balise HTML <frameset>. C‟est une
chaîne de pourcentages séparés par des virgules, définissant les hauteurs relatives des cadres.
Colonnes (cols) : valeur de l‟attribut cols de la balise HTML <frameset>. C‟est une
chaîne de pourcentages séparés par des virgules, définissant les largeurs relatives des cadres.
Metaclasse : classe.
Description :
Une cible est une zone nommée dans la fenêtre du navigateur dans laquelle des pages
Web peuvent être affichées. Le nom de la classe stéréotypée est celui de la cible.
Habituellement, une cible est le cadre d‟une structure de cadre définie dans une fenêtre ;
cependant, une cible peut être une toute nouvelle instance de navigateur.
Une association « targeted link » spécifie la cible où une page Web doit être affichée.
Icône :
Contraintes :
Un nom de cible doit être unique pour chaque client du système. Par conséquent, une
seule instance d‟une même cible peut exister sur un même client.
Étiquettes :
Aucune.
Métaclasse : classe.
Description :
Un objet script Client est un ensemble qui regroupe des scripts client particuliers dans
un fichier, lequel est inclus par une requête distincte du navigateur client. Ces objets
regroupent souvent des lots de fonctions couramment utilisées au travers d‟une application ou
d‟une entreprise.
Icône :
f(){}
Contraintes :
Aucune.
Étiquettes :
Aucune.
Métaclasse : association.
Description :
Un lien est un pointeur d‟une page client vers une autre page. Dans un diagramme de
classe, un lien est une association entre une page client et une autre page client ou une page
serveur. À un lien correspond une balise ancre HTML.
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Paramètres (parameters) : liste de noms de paramètres qui doivent être passés avec la
demande de la page liée.
Métaclasse : association.
Description :
Similaire à une association lien. Un lien cible est un lien dont la page associée est
affichée dans une cible. À un lien cible correspond une balise ancre HTML, dont l‟attribut
target prend la valeur de la cible.
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Paramètres (parameters) : liste de noms de paramètres qui doivent être passés avec la
demande de la page liée.
Nom de la cible (Target Name) : nom de la cible où la page vers laquelle pointe le lien
doit être affichée.
Métaclasse : association.
Description :
Une association contenue de cadre est une association d‟agrégation qui traduit l‟appartenance
d‟une page ou d‟une cible à un cadre.
Une association contenue de cadre peut aussi pointer vers une structure de cadre, aboutissant
dans ce cas à des cadres imbriqués.
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Rangée (Rows) : entier qui indique la rangée du cadre dans la structure de cadre
auquel appartient la page, ou la cible associée.
Colonne (Col) : entier qui indique la colonne du cadre dans la structure de cadre
auquel appartient la page, ou la cible associée.
Métaclasse : association.
Description :
Une association de soumission se trouve toujours entre un formulaire et une page serveur. Les
formulaires soumettent les valeurs de leurs champs au serveur, par l‟intermédiaire de pages
serveur, pour qu‟il les traite. Le serveur Web traite la page serveur, qui accepte et utilise les
informations du formulaire.
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Paramètre (parameters) : une liste de noms de paramètres qui doivent être passés avec la
demande de la page liée.
Métaclasse : association.
Description :
La relation « build » est une relation particulière qui fait le pont entre les pages client et les
pages serveur. Les pages serveur n‟existent que sur le serveur, où elles sont employées à
construire les pages client.
L‟association « build » identifie quelle page serveur est responsable de la création d‟une page
client. C‟est une relation orientée, puisque la page client n‟a pas connaissance de la page qui
est à l‟origine de son existence.
Une page serveur peut construire plusieurs pages client, en revanche, une page client ne peut
être construite que par une page serveur.
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Aucune.
Description :
Une relation « redirect », qui est une association unidirectionnelle avec une autre page Web,
peut être dirigée à partir d‟une page client ou serveur ou vers une page client ou serveur.
Si la relation part d‟une page serveur, le traitement de la requête de la page peut se poursuivre
par l‟autre page. Cela ne veut pas dire que la page de destination participe toujours à la
construction d‟une page client, simplement qu‟elle le pourrait. Cet usage de la redirection
correspond à la balise <meta>.
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Délai (Delay) : délai que doit observer une page client avant de rediriger vers la page de
destination. Cette valeur correspond à l‟attribut content de la balise <META>.
Métaclasse : attribut.
Description :
Un élément de saisie correspond à la balise <input> d‟un formulaire HTML. Cet attribut est
utilisé pour saisir un mot ou une ligne de texte. Les étiquettes associées à cet attribut
stéréotypé correspondent aux attributs de la balise <input>.
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Type de l‟élément saisie : texte, numérique, mot de passe, case à cocher, bouton
d‟option, bouton submit ou bouton reset.
Taille (size) : définit la largeur allouée à l‟écran de saisie.
Longueur Max (Maxlength) : nombre maximal de caractères que peut saisir
l‟utilisateur.
II.3.14. Sélection d’élément (« select element »)
Métaclasse : Attribut.
Description :
Il permet à l‟utilisateur de sélectionner une ou plusieurs valeurs dans une liste (liste d‟option
ou liste déroulante).
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Métaclasse : Attribut.
Description :
Elle est employée dans les formulaires, elle permet l‟écriture de plusieurs lignes de texte.
Icône :
Aucune.
Contraintes :
Aucune.
Étiquettes :
Métaclasse : Composant.
Description :
Un composant page est une page Web, il peut contenir des scripts client ou serveur. Ce
composant est un fichier texte accessible au serveur Web, et il peut être également un module
compilé, chargé et exécuté par le serveur Web, puis le serveur Web produit à partir du
composant page un document au format HTML, qui est renvoyé en réponse à la requête du
navigateur.
Icône :
Contraintes :
Aucune.
Étiquettes :
Chemin (path) : chemin requis pour spécifier la page Web sur le serveur Web.
Réalisation de composant : les composants pages Web peuvent réaliser les classes
stéréotypées « server pge », « client page » ou « frameset ».
Association : une page client peut avoir au plus une relation « build » avec une page
serveur, par contre une page serveur peut avoir plusieurs relations « build » avec plusieurs
pages client. En plus des combinaisons standards d‟UML sont permises les combinaisons de
stéréotype présentées au tableau 1.
A:
« client page » « serveur page » « frameset » « target » « form »
De :
« link » « link » « link »
« aggregation
« client page » « target link » « target link » « target link » « dependency »
»
« redirect » « redirect » « redirect »
« serveur « build » « build »
« redirect »
page » « redirect » « redirect »
« frame « frame « frame
« frameset »
content » content » content »
« target »
« form » « aggregate by » « submit »
Conclusion
Nous avons présenté à travers ce travail une étude relative à la conception et la réalisation
d‟un intranet avec site web dynamique, un serveur FTP et un serveur de messagerie pour le
laboratoire de recherche en génie civil LAMOMS.
Offrir les outils collaboratifs (la messagerie, le forum) pour assurer les échanges entre
les membres du labo ;
Administrer et gérer les membres organisés dans des équipes et les responsables qui
suivent ces équipes de recherche ;
Ce site permet aussi aux membres de faire des publications ;
Eyrolles, 1996.
Eyrolles, 2000
Eyrolles
[06] : Chantal Morley Jean Hugues Bernard Leblanc, " UML pour l’analyse d’un système
d’information" DUNOD
Eyrolles,
Webiographie
[3] http://www.apachefriends.org/