PHP, une initiation

Dominique Gonzalez

Université Lille3-Charles de Gaulle

Ce document est soumis à la licence GNU FDL. Permission vous est donnée de distribuer, modifier des copies de ces pages tant que cette note apparaît clairement.


Table des matières
I. Le cours
1. Pourquoi et comment ?
Introduction
Pourquoi ce document ?
Comment a-t-il été construit ?
Où trouver ce document ?
QBullets
2. Généralités sur les langages informatiques
Qu'appelle-t-on langage informatique?
Langage interprété
Langage compilé
Langages intermédiaires
3. Des langages particuliers : les langages du web
Pourquoi programmer ?
Quels langages ?
Avantages et inconvénients
Choisir
4. Une FAQ élémentaire sur PHP
Qu'est ce que PHP ?
Quelle différence avec Javascript ?
Pourquoi choisir PHP au lieu de Javascript ?
Que se passe-t-il à l'affichage d'une page PHP ?
Comment intégrer du PHP dans du HTML ?
5. Premiers exemples en PHP
LE premier programme
LE deuxième programme
Rappels (?) d'algorithmique
Variables et expressions
Fonctions
À vous
6. Formulaires en HTML
Présentation
Principaux contrôles
Exemples
7. Traitement d'un formulaire en PHP
Traitement des données d'un formulaire en PHP
Exercices
8. Chaînes de caractères
Qu'est-ce qu'une chaîne de caractères ?
Que choisir ? Guillemets ou apostrophes ?
Principales utilisations du backslash
Principales opérations sur les chaînes
Principales fonctions
Conversions de types
Exercices
9. Les tableaux
Qu'est-ce qu'un tableau ?
Quelques exemples d'utilisation
Les tableaux associatifs
Parcours d'un tableau associatif
Exercices
10. PDO
Qu'est-ce que PDO
Quelle utilité ?
Se connecter à la base de données
Exécuter une requête
Nombre de lignes et colonnes d'une requête select
Accéder aux résultats d'une requête select
Gestion des erreurs
11. Programmation séparée en PHP
La programmation séparée
Les fonctions require et include
12. Identification en PHP
Préliminaires : la fonction header
Contrôle des mots de passe
Amélioration : plusieurs utilisateurs
Séparer les données du traitement
Cacher les mots de passe
Crypter les mots de passe
13. Sessions
Préambule
Application : identification des visiteurs
II. Hors programme
14. Utiliser PHP sur une base de données PostgreSQL
Connexion à la base
Exécution d'une requête
Obtention des résultats d'une requête
Un exemple
Requêtes autres que SELECT
Suppression des messages d'erreurs
Gestion des erreurs et des messages
15. peardb, une présentation
Qu'est-ce que pear
Quelle utilité ?
Utiliser peardb
Se connecter à la base de données
Gestion des erreurs
Exécuter une requête
Accéder aux résultats d'une requête select
setfetchmode()
peardb, informations sur les requêtes
16. dbx
Qu'est-ce que dbx
Quelle utilité ?
Se connecter à la base de données
Exécuter une requête
Nombre de lignes et colonnes d'une requête select
Accéder aux résultats d'une requête select
17. Exploration du contenu d'un répertoire
Les notions nécessaires en PHP
Les notions nécessaires en HTML
Exercices
18. News...
Présentation
Votre travail
Si vous avez le temps...
19. Les fichiers
Manipulations de base
Un exemple
Exercice
III. Corrigés des exercices
20. Premiers exercices d'algorithmique, corrigés
21. Premiers formulaires en PHP, corrigés
22. Chaînes de caractères, corrigé
23. Exercices sur les tableaux, corrigés
24. Exercices sur les fichiers, corrigés
25. Exploration d'un répertoire, corrigés
26. News..., corrigé
Accueil
Liste des noms de fichiers de nouvelles
Liste des liens vers les fichiers de nouvelles
Affichage de toutes les nouvelles
Affichage des titres des nouvelles
Affichage des titres faisant lien vers les nouvelles
Affichage de toutes les nouvelles, proprement
Choix du sujet
IV. Études de cas
27. Études de cas
28. Projet Disques 2009
Présentation
La base de données
29. Projet Inscriptions
Présentation
La base de données
30. Projet Teniraq
Présentation
La base de données
31. Projet Camping
Présentation
Les informations à conserver
Les traitements
La base de données
32. Projet Association
Contenu du site web
Conditions de travail
Base de données
MLD du projet Association
Création des tables de la base Association
Évaluation
Dernier conseil
33. Projet Généalogie
Généralités
Les données à conserver
Traitement des données
Optimisations
Import-export
MCD du projet généalogie
Les différentes tables
Les différentes contraintes
34. Projet Brazil
Description
Les tables des entités
Les tables des relations
Les contraintes
35. Projet Services
But de ce projet
Fonctionnement
Informations plus techniques
Question subsidiaire : comment gérer l'historique de la base ?
Vocabulaire utilisé
Première ébauche de la structure
Structures des tables
Création des tables
Remplir les tables de paramètres
36. Projet Disques
Approche naïve
Analyse
Dernières remarques
Une autre analyse du projet Disques
Création des tables
Votre travail
Index
Liste des tableaux
8-1. Principales utilisations du backslash
10-1. Champs de $db->errorInfo()
Liste des illustrations
32-1. MCD du projet Association
33-1. MCD du projet Généalogie
36-1. Relations dans la base Disques, première version
36-2. Relations dans la base Disques, deuxième version
36-3. Un autre MCD pour la base Disques
Liste des exemples
36-1. Un groupe
36-2. Un groupe avec interprète invité
36-3. Interprèete et compositeur