Exercices
Questions à choix multiple

Leçon N° 01 : Installation, Environnement

Qu'est ce que le PHP ?
Architecture client-serveur
Installation "en local" pour l'apprentissage ou "en production"
Avant l'installation
Installation sous Windows de Apache/PHP/MySQL avec Wamp
Installation sous GNU/Linux Unbuntu de Apache/PHP/MySQL
Test du serveur HTTP, connexion à MySQL
Les versions de PHP
Editeurs conseillés
Logiciels FTP conseillés
Hello world ! premier programme en PHP
Majuscule/Minuscules, second programme en PHP
Notes de page

Qu'est-ce que le PHP ?

PHP signifiait à l'origine Personnal Home Page, on considère maintenant qu'il veut dire PHP Hypertext Preprocessor.

Définition d'après DicoFR.com :
Langage permettant la création de pages Web au contenu dynamique, analogue à la technologie ASP de Microsoft, mais provenant des environnements UNIX-Apache et libre de droits.

Plus précisément, PHP est un langage de script dont le module d'interprétation s'utilise avec un serveur HTTP. Un serveur HTTP est un logiciel qui met à disposition des fichiers aux utilisateurs d'un réseau.
De nombreuses documentations sont disponibles sur Internet :
Sa syntaxe est empruntée aux langages C, Java et Perl, et est facile à apprendre. Le but de ce langage est de permettre aux développeurs web d'écrire des pages dynamiques rapidement et facilement.
Il permet par exemple de récupérer les données de formulaires et de les traiter, d'accèder à des bases de données etc. cela grâce à de nombreuses fonctions intégrées.
Des extensions au langage (hors du cadre de ce cours) permettent de gérer les fichiers XML, PDF... Dans le cadre de notre Atelier, PHP n'est pas un langage 'compilé' mais un langage de script qui s'exécute 'à la volée' sur le serveur.

Architecture client/serveur dans le cas d'une page PHP sur Internet

  1. L'internaute saisit l'adresse internet d'une page PHP dans le navigateur, par exemple :
    http://www.atelierphp.net/lesson_01_environnement/lesson_01.php
  2. Cette adresse est envoyée à un ordinateur appartenant de votre fournisseur d'accès à Internet (par la ligne téléphonique, ou fibre optique, ou cable reseau). Elle est analysée par les équipements d'entrée pour localiser le serveur sur lequel se trouve la page demandée
  3. Le serveur reçoit et analyse la page
  4. Les parties entre balises PHP (<?php ..... ?>) sont envoyées au module PHP pour y être exécutées
  5. Les instructions faisant référence aux bases de donnéees sont transférées au module base de données
  6. Le module base de données renvoie les données
  7. Le module PHP intègre ces données, et renvoie au serveur HTTP le code HTML généré
  8. Les données sont renvoyées par le serveur
  9. Puis acheminées jusqu'au le poste client, la page est affichée

Installation "en local" pour l'apprentissage ou "en production"

L'utilisation habituelle du modèle client/serveur est décrite ci-dessus, cependant dans l'apprentissage du langage PHP le serveur et le client seront sur un seul et même ordinateur sans passer par Internet. On peut dire dans ce cas là que l'on travaille "en local". Pour pouvoir travailler "en local", vous devez donc suivre les indications de cet atelier. Vous devez savoir que le serveur local s'appellera "localhost" par défaut.

Dans un deuxième temps vous aurez la possibilité de transférer vos fichiers PHP vers un serveur Internet "en production". La mise en place et le paramétrage de d'un tel serveur est souvent réalisé par l'herbergeur lui-même. L'hébergeur étant le prestataire auquel vous demandez de vous allouer un espace mémoire sur un ordinateur serveur accessible 24 heures sur 24 pour que les fichiers qui s'y trouvent soient disponibles par les internautes.

Avant l'installation

Dans le cadre de notre installation, les principaux points à connaître seront les suivants :

Installation sous Windows de Apache/PHP/MySQL avec WampServer

Mise en oeuvre avec WampServer: La solution fortement conseillée est l'installation d'Apache/PHP/MySQL à l'aide du "package" WampServer, en effet cette solution installera tout ce dont vous avez besoin pour commencer sans vous soucier trop des différents paramétrages.
Pour vous procurer WampServer, rendez-vous sur leur site et télécharger la version actuelle : Site de WampServer
Ce "package" comprend : Apache + PHP + MySQL + PHPMyAdmin + SQLiteManager
Apache désigne le serveur http, PHP le module PHP, MySQL la base de données (voir schéma de l'architecture client/serveur plus haut). PHPMyAdmin et SQLiteManager sont des logiciels utilitaires optionnels mais utiles, nous le verrons plus tard. Les avantages de cette distribution sont les suivants : Lors du déroulement de l'installation, très peu de questions sont posées : Paramétrage de base du serveur Apache2 (fichier apache2.conf)
Remarque 1:
IIS est un serveur fourni par Microsoft sur certain systèmes d'explotations (Windows2000 Pro, XP Pro) nous ne détaillerons pas ici sa mise en oeuvre.
Remarque 2:
Au fil des ateliers quelques paramétrages vont néanmoins s'avérer nécessaires, voici la liste de ce que vous pourriez avoir à changer :
  1. Prise en compte des fichiers ayant l'extension .php5
  2. Fonctionnement de la librairie GD (gestion des images et graphisme)
  3. Serveur POP pour que le serveur puisse envoyer du courrier
  4. La gestion des sessions
En cas de difficultés, n'hésitez pas à poser vos questions dans le forum.

Installation sous GNU/Linux Ubuntu de Apache/PHP/MySQL

Pour GNU/Linux Ubuntu, la procédure d'installation est détaillée sur le site ubuntu.fr : Installer LAMP sous UBUNTU. Cette page d'aide vous propose l'installation de LAMP (Linux + Apache + MySQL + PHP) si vous utilisez Ubuntu un système libre et non Windows.

Test du serveur HTTP, connexion à MySQL

Sous Windows, le nom du serveur est celui de la machine. Si votre machine s'appelle "abcde", que vous tapiez "abcde" ou "localhost" dans la barre d'adresse de votre navigateur, vous obtiendrez la même chose, à savoir la page d'accueil de votre serveur.
Dans tous les cas si le serveur HTTP fontionne sur votre machine, en tapant "http://localhost", vous devez avoir la page de garde du serveur.
De plus, pour Apache, vous devez avoir un icone dans la barre de tache, en forme de demi-cercle plein. En cliquant une fois dessus, vous accédez à un panneau de controle très pratique vous permettant de voir l'état des serveurs Apache et MySQL.

Si Apache ne fonctionne pas (sous Windows): Une fois que votre serveur fonctionne, il vous faut créer un sous-répertoire du répertoire de base du serveur pour y installer votre site. Créer un fichier fichier.html et enregistrer le dans le dossier nouvellement créé, par exemple "mon_site". Maintenant, en tapant http://localhost/mon_site/fichier.html vous devez voir s'afficher le contenu de votre fichier

Connexion à MySQL
La plupart du temps, si vous l'avez installé pour une installation locale, les paramètres de connexion seront Vous pourrez tester réellement le bon fonctionnement MySQL au cours de l'atelier n°9 : Mysql première partie : introduction.
Si tout se passe mal, vous pouvez consulter le site phpconcept.net, ou d'autres parmi ceux dont les liens figurent sur notre page de liens Liens d'aide au développement en PHP

Les versions de PHP

La version actuelle du module serveur est la 5.2 (2007), vous pouvez consulter le site officiel : php.net.
L'extension d'un fichier PHP est .php, cependant on peut trouver les extensions .php3, .php4, .php5, chacune correspond à une version de PHP. Vous aurez l'occasion d'en savoir plus sur PHP5 dans l'atelier N° 08 : Classes et objets.

Remarque 1 : l'extension est une information sur le type de fichier elle est séparée du nom par un point. Exemples : mon_fichier.php, mon_fichier.html, ces deux fichiers sont différents même si ils ont le même nom, le premier contient une code php, le second un code html.

Editeurs conseillés

L'éditeur est une sorte de traitement de texte spécialement conçu pour l'édition de code source de programmation. C'est avec lui que vous passerez beaucoup d'heures, alors choisissez celui qui vous convient le mieux.

Logiciels FTP conseillés

Le choix du logiciel FTP est important, c'est lui qui va vous permettre le transfert des fichiers de votre PC sur votre site internet et vice-versa

Remarque 1 : Pour ceux qui utilisent Firefox, une extension de Firefox existe qui gère assez bien le FTP (fonctionne sous GNU/Linux)
Remarque 2: Un serveur FTP est aussi inclus dans l'éditeur PSPAD

Hello world ! premier programme en PHP

Premiers principes de base: Application_
_ Tester le fonctionnement de PHP, saisir dans l'éditeur <?php phpinfo(); ?>
Exécution de la fonction phpinfo()
Nom du fichier_exercises_01/lesson_01_c.php
_ Le classique "Hello world !"
Hello world !
Nom du fichier_exercises_01/lesson_01_h.php
Pour aller plus loin_faire fonctionner un HERE DOCS sur une source HTML
Les commentaires en PHP , heredocs
Nom du fichier_exercises_01/lesson_01_e.php

Sensibilité à la casse, second programme en PHP

Un nom de variable est toujours précédé du symbole $ (dollar).
En php, en règle générale : Très important : la sensibilité à la casse des noms de fichiers dépend du système d'exploitation, hors comme sous GNU/Linux (destination finale de la plupart des fichiers php, vu que la plupart des serveurs Web sont des serveurs Linux) les noms de fichier sont sensibles à la casse, il est fortement recommandé de respecter la casse dans : Exercice sur la sensibilité à la casse
Nom du fichier_exercises_01/lesson_01_c.php

Tous droits réservés. 2005-2008