Client
Serveur
Réseau
Données
Modèle client/serveur : Architecture réseau où un client envoie une requête à un serveur qui lui répond.
- Architecture distribuée avec des rôles distincts
- Communication unidirectionnelle (requête/réponse)
- Dépendance du client au serveur
- Utilisation de protocoles standardisés
Client
Réseau
Serveur
Le client initie la communication en envoyant une requête
Le serveur reçoit la requête et la traite
Le serveur effectue les opérations demandées
Le serveur envoie une réponse au client
La connexion est fermée ou maintenue selon le protocole
Le modèle client/serveur est une architecture où le client sollicite le serveur pour obtenir des services.
• Asymétrie : Les rôles de client et serveur sont différents
• Initiation : Le client initie la communication
• Dépendance : Le client dépend du serveur pour les services
Rôles distincts : Client et serveur ont des responsabilités différentes dans le modèle.
Client
Serveur
Initie les requêtes, attend les réponses, affiche les résultats
Attend les requêtes, les traite, fournit les services demandés
Gestion de l'interface utilisateur, validation des données, envoi des requêtes
Gestion des ressources, sécurité, persistance des données, scalabilité
Navigateur web, application mobile, logiciel de messagerie
Les rôles sont complémentaires : le client demande, le serveur fournit les services.
• Spécialisation : Chaque rôle a des responsabilités spécifiques
• Complémentarité : Les deux rôles sont nécessaires pour la communication
• Scalabilité : Un serveur peut traiter plusieurs clients simultanément
Protocoles : Ensemble de règles qui définissent le format et l'ordre des messages échangés.
HTTP
TCP
IP
MAC
PHY
HyperText Transfer Protocol, utilisé pour le web (requêtes GET/POST)
Transmission Control Protocol, assure la livraison fiable des données
Internet Protocol, gère l'adressage et le routage des paquets
Domain Name System, traduit les noms de domaine en adresses IP
Numéro qui identifie le service sur le serveur (80 pour HTTP, 443 pour HTTPS)
Les protocoles assurent une communication standardisée entre client et serveur.
• Standardisation : Protocoles permettent l'interopérabilité
• Hiérarchie : Les protocoles sont organisés en couches
• Fiabilité : TCP assure la livraison des données
Types de serveurs : Différentes catégories selon les services fournis.
Web
Base de données
Fichiers
Héberge des sites web, répond aux requêtes HTTP (Apache, Nginx)
Stocke et gère les données, répond aux requêtes SQL (MySQL, PostgreSQL)
Gère l'envoi et la réception des emails (SMTP, POP3, IMAP)
Stocke et partage des fichiers (FTP, NFS, SMB)
Convertit les noms de domaine en adresses IP
Il existe différents types de serveurs spécialisés selon les services fournis.
• Spécialisation : Chaque serveur a une fonction spécifique
• Standardisation : Protocoles spécifiques pour chaque type de service
• Scalabilité : Serveurs conçus pour gérer de nombreux clients
Modèles alternatifs : Comparaison avec d'autres architectures de communication.
Client/Serveur
Pair-à-pair
Cloud
Chaque nœud joue le rôle de client et de serveur simultanément
Meilleure sécurité, administration centralisée, gestion des ressources
Point de défaillance unique, dépendance du serveur, scalabilité limitée
Combinaison des deux modèles pour bénéficier des avantages
Microservices, architecture orientée services, cloud computing
Le modèle client/serveur est un modèle classique mais d'autres modèles existent selon les besoins.
• Choix : Le modèle dépend des besoins spécifiques
• Évolution : Les architectures évoluent avec les technologies
• Hybridation : Combinaison de modèles pour optimiser les performances
- HTTP/HTTPS : Pour les communications web
- FTP : Pour le transfert de fichiers
- SMTP/POP3/IMAP : Pour la messagerie électronique
- SSH : Pour les connexions sécurisées
- DNS : Pour la résolution de noms de domaine
- Le client initie la communication, le serveur répond
- Le serveur est généralement toujours disponible (uptime élevé)
- Le client peut être intermittent, le serveur doit gérer plusieurs clients
- Les protocoles standardisent la communication entre les systèmes
- Le modèle client/serveur est centralisé contrairement au modèle pair-à-pair