REPUBLIQUE DU SENEGAL
UNIVERSITE DE BAMBEY
L'excellence ma constance, l'éthique ma vertu
Développement Web
Atelier 1: Architecture client-serveur
Objectif de l’atelier:
-identifier les différentes composantes d’une architecture client serveur: Applications et machines
-Décrire le rôle des clients et serveurs web, imap, pop, smtp et ftp.
-Enumérer des exemples de serveurs et de clients web, imap, pop, smtp et ftp
- Décrire les mécanismes génériques de connexion aux serveurs
Prérequis conseillés:
Bonne connaissance du web
Durée : 3h
1 Présentation de l’architecture client serveur:
De nombreuses applications fonctionnent selon l’architecture client/serveur qui dispose de deux
entités reliées par un réseau (intranet, internet, …) . Chaque entité englobe l’aspect hardware
(machine) et software (logiciel). Une machine cliente execute une application cliente qui interagit
avec une application serveur qui tourne sur une machine serveur et qui lui fournit un service.
1.1 Exemples de schémas client-serveur :
Adrien Basse 1
1.2 Activités :
Proposer d’autres schémas en explicitant clairement les différentes composantes logicielles et
materielles.
2 Dialogue client-serveur
Pour dialoguer et se comprendre une application cliente et une application serveur utilisent un
ensemble de règles communes (les protocoles) et suivent un modèle de communications (OSI,
TCP/IP, …).
2.1 La couche application et ses protocoles
Elle englobe les protocoles applicatifs et permet de relier une application au réseau. Une application
cliente sur une machine cliente utilise un protocole compatible à celui utilisé par l’application
serveur avec qui elle veut dialoguer.
(1) Exemples de protocoles applicatifs
HTTP: (HyperText Transfer Protocol) développé pour le Web il permet de transferer des documents
(au format HTML pour la plupart).
FTP : (File Transfer Protocol), est utilisé pour l'échange de fichiers situés sur deux ordinateurs
distants.
Adrien Basse 2
SMTP: (Simple Mail Transfer protocol) est utilisé pour transférer le courrier électronique vers les
serveurs de messagerie.
POP: (Post Office Protocol) permet de récupérer les courriers électroniques situés sur un serveur de
messagerie.
IMAP : (Internet Message Access Protocol) permet comme POP de récupérer les courriers
électroniques sur un serveur de messagerie mais en laissant les courriers sur le serveur.
2.2 Exemple d’applications serveur et clientes:
Applications serveur Applications clientes
serveurs HTTP(s) : Apache, IIS, Navigateurs (IE, Nescape, Firefox, Opera,…),
Tomcat, Zope, Jboss, Jetty, … Aspirateurs site, robot, …
serveurs FTP : Filezilla server, Pure- Filezilla client, SmartFTP, FTP expert,…
FTPd, PFTP, …
serveurs IMAP : Cyrus Imap, Kmail, Thunderbird, Mail, Outlook, Lotus, …
hMailServer, Mdaemon, …
Serveurs SMTP : SMTP Server,
MySMTP, Easy SMTP Server, …
2.3 Connection
à
un
serveur:
Pour envoyer des requêtes à un serveur, un client a besoin de plus ou moins d’informations selon le
type de serveur (web, ftp, ssh, mysql, …):
L’adresse IP: Le client doit connaître l’adresse IP de la machine qui heberge l’application serveur.
Généralement un nom est associé à l’adresse IP via un serveur DNS (Domain Name Server).
Données d’authentification : Pour certaines connections un login et un mot de passe sont
demandés par le serveur. Exemple des serveurs de base de données (mysql, postgres, oracle, …), ftp
(accès anonyme possible), imap, …
Port : Plusieurs instances de serveurs peuvent tourner sur une machine (section 1.1) mais chacune
d’elle ne s’interesse qu’aux requêtes qui lui sont déstinées. Pour cela une application cliente et une
application serveur se mettent d’accord sur un numéro entier appelé port exclusivement utilisé par
l’application serveur sur la machine. L’adresse IP permet d’identifier de manière unique un
ordinateur dans un réseau et le port permet d’identifier une application serveur unique sur une
machine. A chaque application serveur est attribuée un numéro de port par défaut : smtp(25), http
(80), https (443) ftp (21), ssh (22), dns (53), ldap (389), mysql (3306)… Il est possible par
configuration de changer ce port par défaut.
Adrien Basse 3
3 Activités
(1) Faites correspondre chaque protocole avec son role principal.
imap Transfert de documents hypertextes
pop Transfert de fichiers entre deux ordinateurs distants
smtp Récupération du courrier d’un serveur de messagerie sans suppression
ftp Récupération du courrier d’un serveur de messagerie et suppression sur le serveur
http Transfert du courrier vers des serveurs de messagerie
(2) A quelle grande famille de serveur appartient Apache ?
1. Serveur de base de données
2. Serveur web
3. Serveur FTP
4. Serveur POP
(3) A quelle grande famille de serveur appartient IIS ?
1. Serveur de base de données
2. Serveur web
3. Serveur FTP
4. Serveur POP
(4) A quelle grande famille de serveur appartient Postgres?
1. Serveur de base de données
2. Serveur web
3. Serveur FTP
4. Serveur POP
5.
(5) A quelle grande famille de serveur appartient MySQL?
5. Serveur de base de données
6. Serveur web
7. Serveur FTP
8. Serveur POP
Adrien Basse 4
(6) Choisissez les clients IMAP parmi la liste suivante :
1. Outlook
2. Internet explorer
3. Safari
4. Thunderbird
5. Lotus
6. Cyrus
7. Kmail
(7) Le port d’écoute par défaut du serveur Apache est le port
1. 80
2. 433
3. 3306
4. 21
(8) Choisir des clients du serveur Apache.
1. Opera
2. Outlook
3. Tomcat
4. Internet explorer
5. Firefox
6. Filezilla
(9) Vrai ou Faux, une adresse IP permet d’identifier une machine sur un réseau.
(10) Vrai ou Faux, un port permet d’identifier un serveur logiciel unique sur un réseau.
(11) Quelles sont les informations qu’un client doit avoir pour se connecter à un serveur
Apache ?
1. l’adresse IP ou le nom de la machine où le serveur Apache est installé
2. l’adresse IP et le nom de la machine où le serveur Apache est installé
3. un login valide pour Apache
4. un mot de passe valide pour Apache
5. le port d’écoute du serveur Apache
7.
(12) Quelles sont les informations qu’un client doit avoir pour se connecter à un serveur
MySQL ?
6. l’adresse IP ou le nom de la machine où le serveur MySQL est installé
7. l’adresse IP et le nom de la machine où le serveur MySQL est installé
8. un login valide pour MySQL
9. un mot de passe valide pour MySQL
10. le port d’écoute du serveur MySQL
Adrien Basse 5
(13) Cocher les réponses correctes. Es t-il possible d’installer sur une même machine en donnant
les prérequis si c’est nécessaire
1. un serveur apache et un serveur mysql ?
2. un serveur apache et un client apache ?
3. un serveur apache, un serveur mysql, un client Apache et un client mysql ?
4. Un serveur cyrus et un serveur apache ?
5. Deux serveurs apache ?
6. Deux serveurs mysql et un serveur Apache ?
Adrien Basse 6