1 - Introduire La Notion Client - Serveur
1 - Introduire La Notion Client - Serveur
1 - Introduire La Notion Client - Serveur
1 - Introduire la notion
client/serveur
Introduction
Vous pouvez télécharger le résumé théorique complet du module de compétences "Développer des sites web
dynamiques" sur le volet droit de votre écran.
1 - Principe Client/serveur
Introduction
À partir du moment où les architectures matérielles peuvent être interconnectées, nous pourrons réaliser une
architecture client/serveur.
L’architecture client-serveur s’appuie sur un poste central, le serveur, qui envoie des données aux machines clientes. Les
programmes qui accèdent au serveur sont appelés programmes clients (client FTP, client mail, navigateur).
Cette architecture est basée sur l'utilisation de deux types de logiciels : un logiciel serveur et un logiciel client s'exécutant
normalement sur 2 machines différentes.
L'élément important dans cette architecture est l'utilisation de mécanismes de communication entre deux applications.
Le logiciel client-serveur est indépendant des plateformes matérielles et logicielles dite hétérogénéité.
Présentation de https://perso.univ-lyon1.fr/olivier.gluck :
Page 1 / 9
ofppt 1 - Introduire la notion client/serveur
Page 2 / 9
ofppt 1 - Introduire la notion client/serveur
Fonctionnement
Fonctionnement d’un réseau client /serveur :
Le client, pour recevoir des informations du serveur, lui émet une requête passant par un port du PC (exemple : port
25 pour les mails, port 80 pour le web et port 21 pour le FTP)
Le serveur envoie ensuite les informations grâce à l’adresse IP de la machine cliente
Le client traite et af che les informations en provenance du serveur
Types d’architectures
Le découpage et la répartition des trois niveaux d’abstraction, d’une application informatique, permettent de distinguer
plusieurs types d’architecture à savoir :
2 - Architectures 2-tiers
Introduction
L'architecture 2-tiers (aussi appelée client-serveur de première génération, ou encore client-serveur de données)
caractérise les systèmes clients/serveurs pour lesquels le client à un besoin et le serveur le lui fournit directement, en
utilisant ses propres ressources.
Page 3 / 9
ofppt 1 - Introduire la notion client/serveur
Un client lourd est une application où les traitements sont principalement effectués sur la machine locale dite cliente.
Les performances du serveur sont atteintes rapidement après la sollicitation d’un nombre important de clients.
Niveau d’abstraction
Une application informatique peut être découpée en trois niveaux d’abstraction distincts :
Un serveur web statique (aussi appelé une pile) est composé d'un ordinateur (matériel) et d'un serveur HTTP
(logiciel).
Un serveur web dynamique Possède d'autres composants logiciels, certains qu'on retrouve fréquemment dont un
serveur d'applications et une base de données.
Page 4 / 9
ofppt 1 - Introduire la notion client/serveur
Les demandes contiennent l’Uniform Ressource Locator (URL) de la page à af cher. L’URL est l’extension de la notion de
nom de chier sur un réseau
Références et ressources
Architecture serveur/Client :
Architecture 2tiers :
http://mariepascal.delamare.free.fr/IMG/pdf/leClientServeur1.pdf
Services Web :
https://pub.phyks.me/sdz/sdz/les-services-web.html
http://www-inf.it-sudparis.eu/cours/WebServices/Docs/Bob_WS-1.pdf
1 - Dé nition du PHP
Un peu d’histoire
PHP est l’acronyme de Hypertext Preprocessor.
Dé nition
Page 5 / 9
ofppt 1 - Introduire la notion client/serveur
Langage de script
PHP a considérablement évolué, ces dernières années, d'un langage de script non organisé à un langage de programmation
backend orienté objet.
Dé nition
C'est un langage côté serveur : c'est donc la machine qui héberge le site web qui va exécuter le PHP, et non la
machine ou le navigateur du visiteur.
Indépendant de la plate-forme utilisée puisqu’il est exécuté côté serveur et non côté client.
C'est un langage interprété : les instructions sont traitées directement par le serveur (pas de compilation)
Syntaxe
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, macOS, RISC OS, …. Il fonctionne sous forme de module, ou
comme processeur CGI. Un script ou programme CGI est un programme comme un autre mais dont la sortie est
dédiée à un navigateur, par exemple un programme shell, C ou Perl qui sort du HTML.
Caractéristiques
Dans le cas de PHP comme langage serveur, les combinaisons les plus courantes sont :
Page 6 / 9
ofppt 1 - Introduire la notion client/serveur
Références et ressources
PHP :
https://www.php.net/manual/fr/index.php
https://www.techno-science.net/glossaire-de nition/PHP.html
Langage de Script :
https://kinsta.com/fr/blog/langages-de-script/
PHP Framework :
https://geek are.com/fr/php-frameworks/
Classement
Pourcentages de sites Web utilisant divers serveurs Web répartis par classement.
Un site Web peut utiliser plusieurs serveurs Web.
Page 7 / 9
ofppt 1 - Introduire la notion client/serveur
Ce schéma montre les pourcentages de sites Web utilisant différents serveurs Web.
Un site Web peut utiliser plusieurs serveurs Web.
Apache est utilisé par 31.4% de tous les sites Web dont nous connaissons le serveur Web.
Téléchargement
En mode local (sur une machine) ou en intranet, on peut utiliser des plateformes telles que Wamp, Lamp ou Easyphp,
dans lesquelles Apache est intégré en tant que serveur web. Ces plateformes ont aussi MySQL (interfacé avec
PhpMyAdmin) comme système de gestion de base de données, et PHP, comme langage de développement.
Il s'appuie sur les protocoles HTTP ou HTTPS. Il existe sous deux formes binaires: avec et sans le support de (Open)
SSL. La deuxième étant déconseillée si l'on compte mettre en place HTTPS.
La con guration du serveur HTTP Apache s'effectue via des chiers textes.
La con guration d'Apache est enregistrée dans les chiers du sous-répertoire conf.
Le nom du chier de con guration par défaut est en général httpd.conf, mais peut varier en fonction des
distributions tierces du serveur.
La plate-forme choisie permet de gérer l'édition du chier de con guration.
Pour la con guration, il est conseillé de se connecter en tant qu'utilisateur et non en tant qu’admin. Il faut accorder
les droits de lecture et d'écriture pour la con guration.
Page 8 / 9
ofppt 1 - Introduire la notion client/serveur
Modules
Un module peut exporter ou importer certains symboles comme des variables, des fonctions ou des classes. Il
désigne originellement un chier de code de programmation ou un chier de bibliothèque statique ou dynamique.
(source Wikipédia)
Liste des modules : https://httpd.apache.org/docs/current/mod/
httpd peut être compilé sous Windows en utilisant une chaîne de compilation basée sur cmake, ou à partir de
chiers projet Visual Studio.
L'IDE Visual Studio cherche le chemin de awk.exe que dans la variable PATH, ou dans le chemin des exécutables
spéci é par l'option de menu Tools -> Options -> (Projects ->) Directories.
Pour simpli er la compilation d’Apache depuis l'espace de travail IDE de Developer Studio, l'espace de travail Visual
Studio Apache.dsw est fourni.
Références et ressources
https://w3techs.com/technologies/cross/web_server/ranking
https://w3techs.com/technologies/overview/web_server
https://www.javatpoint.com/difference-between-apache-and-nginx
Apache :
https://httpd.apache.org/docs/current/
https://httpd.apache.org/docs/2.4/platform/windows.html#cust
https://httpd.apache.org/docs/2.4/mod/quickreference.html
Vs Code :
https://code.visualstudio.com/docs/languages/php
Page 9 / 9