LOGO Lionel Groulx

Site Web du cours « Programmation de Systèmes »

PHP Chapitre 1 : Introduction

 1.1    Sites statiques et dynamiques

Il est important de faire la distinction entre 2 types de sites Web :

-        les sites dits « Statiques ».

Leur principe est simple : suite à la requête d'un client d'une page Web au serveur, celui-ci restitue les informations de la page HTML à chaque machine, à chaque utilisateur, et à chaque navigateur. Il incombe à celui-ci de mettre en forme de façon personnalisée selon les paramètres individuels requis (forme et dimensions d'écran, paramètres personnels …)

https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQhCtXJ-5CuO45AcTvzeAPBoxOjC33YQzyAEDz9HOhuLi0h9kOVsn8bAzE0 

(source : http-line.com)

·         Avantages :

       N'importe quel navigateur peut les traiter

       Parfait pour les sites « vitrine », de présentation

       Ne demande que peu de ressources

       Facile à apprendre, peut se concevoir automatiquement

       Chaque page est aisément modifiable

·         Inconvénients :

       peu interactif

       difficile d'y inclure des métadonnées sur la page avec aisance

       peu attrayant

       l'ensemble de la conception, des agencements sont difficiles à maîtriser

       malaisé de concevoir un site comprenant un grand nombre de pages

-        les sites dits « dynamiques »

Ici, nul besoin de l'intervention du Webmaster pour rendre le site personnalisé et plus vivant. En effet, le contenu du site est dit « dynamique » car il peut se générer différemment en fonction de paramètres variés.

L'architecture typique d'un site dynamique est telle que décrite ci-dessous :

http://www.la-petite-fabrique-de-site.com/creation-sites/wp-content/uploads/2015/02/pdy.jpg

(source : http://www.la-petite-fabrique-de-site.com/)

La différence à constater avec le cas précédent est que la page HTML n'est pas « prête » avant d'être envoyée au client, elle est fabriquée.

Ainsi, le serveur prépare la page spécifiquement pour le client : la page web est générée à chaque requête client. Ceci rend la page plus dynamique.

PHP est le langage sur lequel notre serveur va s'appuyer pour générer les pages web avant de les envoyer au(x) client(s).

De plus, pour combler les données essentielles pour cela, il ira consulter une base de données. Pour cela, il s'appuiera sur le langage MySQL qui lui permettra les manipulations de données nécessaires.

Une des applications typiques liée à ce genre d'architecture est le remplissage d'un formulaire interactif en ligne qui aboutit sur une restitution de données triées relatives aux données spécifiées.

Les sites dynamiques sont particulièrement adaptés pour :

-                    Développer des espaces réservés « membres » dans un site

-                    Concevoir un forum

-                    Des formulaires à faire soumettre et remplir en ligne

-                    Des sites d'actualités en ligne, avec rédaction, consultation, tri et commentaires sur les articles

-                    Gestion de courriel et newsletter

-                    Interagir avec une base de données de façon générale

 

 1.2    Les langages en présence

-        Pour les sites statiques, le langage principalement utilisé est HTML, qui est à la base des pages Web.

Son fonctionnement est simple, il est basé sur les balises.

Exemple :

<p>Bonjour, je suis un <em>paragraphe</em> de texte !</p>

<p> pour paragraphe

<em> pour emphase

-        Il peut être complété par des éléments de langage CSS, qui permet des mises en forme stylisées et structurées selon une mise en page (couleurs, tailles de menus, et autres.)

Exemple :

body

{

 background-color: white;

 font-family: Verdana, sans-serif;

 font-size: 100%;

}

Ici, le « corps » (body) sera sur fond blanc, en police Verdana sans-serif, taille 100%

-        Pour les sites dynamiques,le PHP est utilisé par les serveurs pour générer les pages web avant de les envoyer au serveur.

Dans ce cas-là, le PHP est inclus dans le HTML de la page, ainsi la partie dynamique décrite par le PHP se visualise par des balises de début et de fin propres au PHP.

Ainsi, lorsque cette page est demandée par un client, le serveur traite la/les partie(s) PHP, et renvoie la page HTML ainsi obtenue.

Exemple :

(source : adaptation personnelle de PHP 4 Bible)

-        Il peut être complété par un système de gestion de bases de données, comme par exemple MySQL.

        Celui-ci exploite le langage SQL, et permet d'accéder à des données qui vont permettre une personnalisation accrue des pages, l'enregistrement ou la restitution des données sur la page, pour une présentation dynamisée.

Par exemple, pour un forum, c'est via la base de données que seront stockés les messages, les noms des membres, leurs droits, etc...

C'est aussi via elle que SQL sera capable de formater votre page de forum selon les tris que vous lui spécifierez, entre autres …

Ce langage fonctionne sous forme de requêtes qui sont lancées à la base, et celle-ci s'en acquitte et répond des données classées si besoin.

Exemple de requête SQL :

SELECT *

FROM Animal

ORDER BY espece, date_naissance;

Précision importante : PHP et SQL sont tous deux des langages libres.

(Licence GNU-GPL), tout comme Linux.

Davantage de détails sur SQL : consultez le chapitre de référence qui lui est dédié : Référentiel SQL

 1.3    Autres façons de construire un site dynamique

-        ASP.net : Produit du framework Microsoft, basé sur .NET et C#

-        Ruby on Rails :framework autour du langage Ruby, rapide à déployer.

-        Django : similaire à Ruby, se programme en Python. Bien pour les solutions légères.

-        Java et JSP : aussi appelé JEE (Java Entreprise Edition), long, lourd, professionnel.

-        Node.js : rapide, léger, événementiel. De moins en moins marginal, la grande tendance du moment, portée par l’ère « IoT ».

L'avantage de PHP est son aspect communautaire.

Le langage, proche du C, est facile à appréhender.

Wikipédia, Facebook sont des exemples réalisés avec PHP.