| Titre |
Programmation PHP |
| Comparatif des notes |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
| 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|
| URL |
http://www.unicaen.fr |
| Notez-le |
Nbr. de Notes : 2, Note Moyenne : 8.50 |
| Date d'ajout |
12-24-2006 |
| ETC |
Hits : 1040, Téléchargement : 203, Commentaire(s) : 0 |
| Email |
|
| Nom de l'Auteur |
François Rioult |
| Fichier |
mi3a2.pdf (0.6M) : 30 |
| Licence |
GPL |
Table des matières:
1 Notion de programme, instructions 5
1.1 Premier exemple : lire un message et l’afficher . . . . . . . . . . . . . 5
1.1.1 Entr´ee / sortie . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Suite de l’exemple . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.3 S´equencement . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.4 Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Structures de contrˆole . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Instruction conditionnelle . . . . . . . . . . . . . . . . . . . 9
1.2.2 It´erations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 TD1 14
2.1 D´ecouvrir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Programmes et exercices (TD) . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Afficher le double d’un nombre choisi par l’utilisateur . . . . 14
2.2.2 Afficher le nombre de lettres et le nombre de ”a” que contient
un mot choisi par l’utilisateur . . . . . . . . . . . . . . . . . 15
2.2.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.4 Comparer deux nombres saisis par l’utilisateur - diff´erentes
´ecritures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.5 R´epondre des messages diff´erents en fonction du nom de l’utilisateur
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.6 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.7 R´epeter un traitement jusqu’`a ce que l’utilisateur veuille s’arrˆeter 17
2.2.8 Am´elioration : compter le nombre de traitements faits . . . . 17
2.3 Jeu du nombre myst´erieux . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Vote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.1 Version 1 : saisie des noms au clavier . . . . . . . . . . . . . 20
2.4.2 Version 2 : les noms sont stock´es dans un fichier . . . . . . . 20
3 Fichier texte et algorithmes sur les fichiers 21
3.1 Notion de fichier texte . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1 D´efinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.2 Principe d’utilisation des fichiers textes . . . . . . . . . . . . 22
3.2 Algorithmes ´el´ementaires sur les fichiers . . . . . . . . . . . . . . . . 24
3.2.1 Lecture d’un fichier . . . . . . . . . . . . . . . . . . . . . . . 24
3.2.2 Cr´eation et ´ecriture d’un fichier . . . . . . . . . . . . . . . . 27
4 TP 2 - Calcul de moyenne de notes 28
4.1 Exercice 1 : moyenne de notes par personne . . . . . . . . . . . . . . 28
5 Les tableaux 30
5.1 Les tableaux simples . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2 Les chaˆınes de caract`eres . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3 Les tableaux associatifs . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.4 Fonctions pour les tableaux . . . . . . . . . . . . . . . . . . . . . . . 35
6 TD 3 36
6.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.1.1 Manipulations . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
7 TP 3 39
7.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.2.1 Version ´el´ementaire . . . . . . . . . . . . . . . . . . . . . . . 39
7.2.2 V´erification des balises . . . . . . . . . . . . . . . . . . . . . 39
7.2.3 V´erification avanc´ee . . . . . . . . . . . . . . . . . . . . . . 39
8 Les fonctions 41
8.1 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
8.2 Port´ee des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
8.3 G´enie logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.4 R´ecursivit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.5 Passage par r´ef´erence . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9 TD 4 48
9.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10 TP 4 49
10.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.1.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
10.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11 Formulaires 50
11.1 GET et POST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.2 Bouclage sur un formulaire . . . . . . . . . . . . . . . . . . . . . . . 51
12 TD 5 55
12.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
12.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
12.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
13 TP 5 56
14 Les bases de donn´ees 57
14.1 Instruction PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
15 TD 6 60
15.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
16 TP 6 61
16.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
16.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
16.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
17 Enchaˆınement de scripts 62
17.1 Librairie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
17.2 Appel de script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
17.3 Champ cach´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
18 TD 7 69
18.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
18.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
19 TP 7 70
19.1 Pr´eliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
19.2 Formulaire client . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
19.3 Formulaire produits . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
19.4 Facturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
20 Programmation objet 71
20.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
20.2 Conception orient´ee objet . . . . . . . . . . . . . . . . . . . . . . . . 72
20.3 Passage d’objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
20.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
21 TD 8 75
21.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
22 TP 8 76
22.1 Pr´eliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
22.2 Classe client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
22.3 Classe produits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
22.4 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
23 H´eritage 78
23.1 Session PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
23.2 Classe des formulaires . . . . . . . . . . . . . . . . . . . . . . . . . 78
24 TD 9 92
24.1 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
24.2 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
25 TP 9 93
25.1 Pr´eliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
25.2 Classe produits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
25.3 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
26 Application objet 94
26.1 Curl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
26.2 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
26.3 R´ealisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
27 TD - 10 105
27.1 Classe Cddb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
27.2 Classe Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
28 TP 10 106
28.1 Pr´eliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
28.2 Classe disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
28.3 Classe clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
29 Images dynamiques - file upload 107
29.1 M´ethodes statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
29.2 File upload - scripts CGI . . . . . . . . . . . . . . . . . . . . . . . . 107
29.3 Images dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
29.4 Taquin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
29.4.1 Classe Vignette . . . . . . . . . . . . . . . . . . . . . . . 109
29.4.2 Classe Image . . . . . . . . . . . . . . . . . . . . . . . . . 111
29.4.3 Classe Case . . . . . . . . . . . . . . . . . . . . . . . . . . 112
29.4.4 Classe Grille . . . . . . . . . . . . . . . . . . . . . . . . . 112
30 TD 11 116
31 TP 11 117
31.1 Pr´eliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
31.2 Classe Grille . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
32 Introduction `a la complexit´e 118
32.1 G´eod´esie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
32.2 Complexit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
32.2.1 Comparaison de fonctions classiques . . . . . . . . . . . . . 118
32.2.2 Exemple simple . . . . . . . . . . . . . . . . . . . . . . . . . 120
32.2.3 Exemple am´elior´e . . . . . . . . . . . . . . . . . . . . . . . 120
32.2.4 Probl`eme de recherche . . . . . . . . . . . . . . . . . . . . . 120
32.3 Recherche de plus court chemin . . . . . . . . . . . . . . . . . . . . 120
32.3.1 Graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
32.3.2 Solution simple . . . . . . . . . . . . . . . . . . . . . . . . . 121
32.3.3 Algorithme de DIJKSTRA . . . . . . . . . . . . . . . . . . . 121
32.4 Conseils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
32.5 G´en´ericit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
32.6 Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
33 TD 12 124
34 TP 12 125 |
|
|