# Cours SQL and PHP ## Échange Client Serveur **L'environnement client-serveur** désigne un mode de communication à travers un réseau entre plusieurs programmes ou logiciels : l'un, qualifié de client, envoie des requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les requêtes des clients et y répondent. Par extension, le client désigne également l'ordinateur sur lequel est exécuté le logiciel client, et le serveur, l'ordinateur sur lequel est exécuté le logiciel serveur. ![](https://i.imgur.com/x0i0UQ2.png) En général, les serveurs sont des ordinateurs dédiés au logiciel serveur qu'ils abritent, et dotés de capacités supérieures à celles des ordinateurs personnels en termes de puissance de calcul, d'entrées-sorties et de connexions réseau. Les clients sont souvent des ordinateurs personnels ou des appareils individuels (téléphone, tablette), mais pas systématiquement. Un serveur peut répondre aux requêtes d'un grand nombre de clients. ## Stockage et base de données **Une base de données** est la pièce centrale des dispositifs informatiques qui servent à la collecte, le stockage, le travail et l'utilisation d'informations. Le dispositif comporte un système de gestion de base de données **(SGBD)**: un logiciel moteur qui manipule la base de données et dirige l'accès à son contenu. De tels dispositifs - souvent appelés base de données - comportent également des logiciels applicatifs, et un ensemble de règles relatives à l'accès et l'utilisation des informations. ![](https://i.imgur.com/pWrQO2f.png) Le langage pour modéliser une BDD est L'SQL(Structured Query Language). Ce langage sert essentiellement à créer les bases et les tables qui structurent l'information. Exemple ci-dessus : BDD « biblio » qui contient une table « livres ». Les champs contenus dans cette table sont : id, titre, auteur, année, genre, etat. Couplé à un langage coté serveur comme PHP(PHP: Hypertext Preprocessor), les données d'une base peut être affichées coté client. Souvent cela a lieu lorsque le client envoie une requête au serveur pour recevoir une information. Un exemple concret, lorsque on fait une recherche sur Google, le moteur de recherche affiche des informations qui s'approchent de votre recherche. Ces informations sont stockées dans des nombreuses BDD de Google. ![](https://i.imgur.com/VnJGsVL.png) ## Modèle-vue-contrôleur(MVC) Le modèle-vue-contrôleur (en abrégé MVC, de l'anglais model-view-controller), tout comme les modèle-vue-présentation ou Présentation, abstraction, contrôle, est un modèle destiné à répondre aux besoins des applications interactives en séparant les problématiques liées aux différents composants au sein de leur architecture respective. Ce paradigme regroupe les fonctions nécessaires en trois catégories : 1. un modèle (modèle de données), 2. une vue (présentation, interface utilisateur) 3. un contrôleur (logique de contrôle, gestion des événements, synchronisation) ![](https://i.imgur.com/NTOHuJ9.png)