Exercice n°1 : principe du PHP - Exercices corriges

Support proposé par C. Dabancourt, inspiré aussi par des exemples et tutoriaux
Internet. PHP Séance n°1 ? introduction & CMS. Exercice n°1 : principe du PHP.

Part of the document


introduction PHP - 10 séances de 4h
Licence Pro IRSII - 2009-2010 | |Support proposé par C. Dabancourt,
inspiré aussi par des exemples et tutoriaux Internet







PHP Séance n°1 - introduction & CMS 3

Exercice n°1 : principe du PHP 3
Exercice n°2 : les programmes de base 3
Exercice n°3 : les CMS 4
Exercice n°4 : faire un site avec SPIP 4
Création du site 4
Structuration et données du site : 4
La mise en forme du site (squelette) 5
Exercice n°4 : insérer une page php dans Spip 5
Exercice n°5 : vous pouvez essayer de faire le même travail avec Joomla
5

PHP Séance n°2 - introduction 6

Exercice n°1 : les types de variables simples 6
Exercice n°2 : les chaînes de caractères (les fonctions) 6
Exercice n°3 : les conditions 6
Exercice n°4 : les boucles (for et while) 7
Exercice n°5 : les tableaux (foreach) 7
Exercice n°6 : les tableaux associatifs 7
Exercice n°7 : les fonctions 8
Exercice n°8 : les variables d'environnement 8
Exercice n°9 : les dates 8
Exercice n°10 : portée des variables (include) 8
Exercice n°11 : lire/écrire un nombre dans un fichier texte 8
Exercice n°12 : deux pages : GET 8
Exercice n°13 : deux pages : POST 9
Exercice n°14 : deux pages : le jeu « plus grand-plus petit » 9
Exercice n°15 : test des formulaires HTML 9

PHP Séance n°3 - PHP et Mysql 10

Exercice n°0 : connexion-déconnexion à une BDD mysql (1 seule table) 10
Exercice n°1 : select dans un tableau - 1 page 10
Exercice n°2 : gestion des erreurs SQL 11
Exercice n°3 : Insert - 2 pages 11
Exercice n°4 : Delete - 1 page 11
Exercice n°5 : Update - 2 pages 11
Exercice n°6 : les Magic Quotes 12
Exercice n°7 : session simple (le panier !) 12
Exercice n°8 : protéger des pages - session 13

PHP Séance n°4 - PROJET - 4h 14

Exercice n°1 : structure d'une application (pour déploiement/maintenance
facilité) 14
Exercice n°2 : projet à réaliser. Trombinoscope 14

PHP Séance n°6A - devoir = 2h (version 2008) 16

Devoir papier : écrire 3 algorithmes 16
Devoir machine : écrire 2 algorithmes 16

PHP Séance n°6B = 2h 17

Exercice n°1 : Utilisation de la classe fpdf 17
Installez et testez la classe fpdf et ses exemples 17
Utilisation de la classe fpdf 17
Exercice n°2 : Utilisation de la classe fpdf 17

PHP Séance n°5 - 4h 18

Exercice n°1 : Yahoo YUI et Google AJAX Libraries API 18
Exercice n°2 : Ajax pour envoyer un nom de fichier. 18
Exercice n°3 : deux pages : le jeu « plus grand-plus petit » avec Ajax 18
Exercice n°4 : reprendre l'application « trombinoscope ». 19

PHP Séance n°7 - Transaction & ADODB 20

Exercice n°1 : la banque - les transactions 20
Exercice n°2 : Analyser le corrigé du TP6 20
Exercice n°3 : Analyser le corrigé du TP3 : l'adapter à ADODB 20
Exercice n°4 : reprendre le corrigé du trombinoscope : l'adapter à ADODB
20
Exercice n°5 : projet - gestion de bateaux 21

PHP Séance n°8 - SMARTY 22

Exercice n°0 : Tester SMARTY 22
Exercice n°1 : Tester les exemples SMARTY 22
Exercice n°2 : reprendre trombinoscope avec SMARTY 23
Exercice n°3 : projet - gestion de bateaux avec SMARTY 23

PHP Séance n°9 - Devoir 4h 24

Le projet gestion de ... 24
Le sujet 24
La réalisation : écrire les 5 pages php. 24

PHP Séance n°10 - utilisation d'outils PHP 25

Exercice n°1 : PHPCheckStyle 25
Exercice n°2 : insérer googleMap en PHP 25
Exercice n°3 : AjaxTerm : un xterm via le web 25
Exercice n°4 : GLPI 25
Exercice n°5 : Nagios 25



PHP Séance n°1 - introduction & CMS

(13 exercices corrigés) vous pouvez consulter http://fr.php.net/tut.php

Exercice n°1 : principe du PHP



[pic]
http://fr.wikipedia.org/wiki/PHP

Exercice n°2 : les programmes de base

Quelques outils pour commencer :
. En local (tout sur votre ordinateur : plus rapide !) :
o Un serveur WEB Apache avec le module PHP
o Un éditeur de texte (VI, Quanta+, Notepad++, Dreamwaver disponible à
l'iut))
o Un navigateur
. Sur un Serveur Distant (en production !)
o Un serveur WEB distant avec PHP et un serveur FTP
o Un éditeur de texte
o Un client FTP (pour déposer les fichiers php)
o Un navigateur
Sous windows, vous avez des programmes WAMP (Windows-Apache-Mysql[1]-
Php), les pages sont dans le dossier C:\wamp\www\.
Sous linux, on parle de LAMP (Linux-Apache-Mysql-Php), les pages sont
dans le dossier /var/www/


A faire : installer le système linux pour tester le programme
« bonjour.php » suivant :



Attention !!! : [Fichier][ouvrir][c:\wamp\www\ tp1\e0.php] ?
« http://localhost/ tp1/e0.php »
Regardez le « code source » de la page web...

Exercice n°3 : les CMS

Un système de gestion de contenu ou SGC ((en) Content Management Systems
ou CMS) est une famille de logiciels destinés à la conception et à la
mise à jour dynamique de site web ou d'application multimédia. Ils
partagent les fonctionnalités suivantes :
Ils permettent à plusieurs individus de travailler sur un même document ;


Ils fournissent une chaîne de publication (workflow) offrant par exemple
la possibilité de mettre en ligne le contenu des documents ;
Ils permettent de séparer les opérations de gestion de la forme et du
contenu ;
Ils permettent de structurer le contenu (utilisation de FAQ, de
documents, de blogs, de forums de discussion, etc.) ;


http://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu


Voici des exemples réels de sites SPIP :
http://www.urbasolar.com/
http://www.theatre2lacte.com/
http://fabulousnet.free.fr/
http://www.chantier-capvert.fr/
http://www.apard.com/

Exercice n°4 : faire un site avec SPIP


Création du site

Installer SPIP en local dans un dossier (voir le fichier PDF joint).
http://www.spip.net/rubrique151.html
Notez sur un papier les mots de passe et les comptes utilisateurs que
vous définissez.

Structuration et données du site :

Faire un site qui reprend ce cours « Introduction PHP »
Vous créerez une rubrique par séance : 10 en tout.
Chaque rubrique possèdera une sous rubrique par exercice.
Chaque sous-rubrique possèdera au moins un article (l'énoncé) et des
fichiers ou des liens s'ils sont disponibles...
N'oubliez pas de publier les articles

La mise en forme du site (squelette)

Utilisez un squelette tout fait pour rendre votre site agréable.

Exercice n°4 : insérer une page php dans Spip

Il vous sera utile d'inclure des pages php dans votre article spip.
http://www.eklesia.net/spip.php?article47

Exercice n°5 : vous pouvez essayer de faire le même travail avec Joomla

Il vous sera utile d'inclure des pages php dans votre article spip.





PHP Séance n°2 - introduction

Vous pouvez consulter la documentation, et particulièrement l'« Index des
fonctions »

Exercice n°1 : les types de variables simples

Les variables sont définies par le caractère « $ ». Elles ne sont pas
typées.
Définir et afficher les variables suivantes :
$a= 1 ; // un commentaire
$b= 21.55 ;
$c= 22,66 ;
$d= $a + $b ;
$e= " attention \n";
$f= " à vous";
$g= $e.$f ;
$h= " le resultat = ". $a+$b ;
$i= $a |
|Integer |Varchar(20) |Varchar(20) |Integer |


Avec la documentation, créer un fichier « fonctionSQL.php » qui contient
la fonction de connexion et la fonction deconnexion. Tester.
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Connexion impossible : ' . mysql_error());
}
echo 'Connecté correctement';
mysql_close($link);
Exemple de code extrait de la documentation

Exercice n°1 : select dans un tableau - 1 page

Avec la documentation, créer dans le fichier « fonctionSQL.php » la
fonction qui retourne un tableau contenant la liste des noms de la table
« produit ». Tester. Afficher la table « produit » dans un tableau html
grâce à la page « select.php ».
[pic]


mysql_select_db("mydb");


$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf("ID : %s Nom : %s", $row[0], $row[1]);
}
mysql_free_result($result);


$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($res