Sommaire 1
Compteur de visites et statistiques . . . . . . . . 15 1.1. 1.2.
1.3.
2
2.4.
. . . . . . .
. . . . . . .
16 16 17 18 19 23 25
Description du projet . . . . . . . . . . . . . . . . . Description des solutions techniques . . . . . . . . Formulaire de contact en PHP/JavaScript et CSS Création du formulaire . . . . . . . . . . . . . . . . . Mise en page avec les feuilles de style . . . . . . . . Vérification du formulaire avec JavaScript . . . . . Traitement et envoi de l’email avec PHP . . . . . . . Check-list . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
28 28 28 28 31 34 35 39
Livre d’or . . . . . . . . . . . . . . . . . . . . . . . . 41 3.1. 3.2.
3.3.
4
. . . . . . .
Formulaire de contact . . . . . . . . . . . . . . . . 27 2.1. 2.2. 2.3.
3
Description du projet . . . . . . . . . . . . . . . . . . . . Description des solutions techniques . . . . . . . . . . . Création de la table SQL . . . . . . . . . . . . . . . . . . Connexion à votre base de données . . . . . . . . . . . . Enregistrement des statistiques de visites en PHP/MySQL Affichage du nombre de visites en PHP . . . . . . . . . . Check-list . . . . . . . . . . . . . . . . . . . . . . . . . .
Description du projet . . . . . . . . . . . . . . . . . . . . Description des solutions techniques . . . . . . . . . . . Traitement des commentaires en PHP et insertion dans un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mise en forme avec une feuille de style CSS . . . . . . . Partie administration : suppression des commentaires . . Check-list . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .
42 42
. . . .
42 50 52 58
. . . .
. . . .
Inscriptions et envois de newsletters . . . . . . . 59 4.1. 4.2.
4.3.
Description du projet . . . . . . . . . . . . . Description des solutions techniques . . . . Création du formulaire d’inscription . . . . . Mise en forme avec une feuille de style CSS Traitement de l’inscription en PHP . . . . . . Formulaire d’envoi en partie administration . Envoi de newsletters par email en PHP . . . Protection de la zone administration . . . . . Check-list . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
60 60 61 62 63 66 67 69 71
Sommaire
5
Jeu de sudoku . . . . . . . . . . . . . . . . . . . . . 73 5.1. 5.2. 5.3.
5.4.
6
6.3.
. . . . . . .
74 74 74 74 75 79 83
Description du projet . . . . . . . . . . . . . Description des solutions techniques . . . . Élaboration de la classe Produit en php5 . . . Élaboration de la classe Panier en php5 . . . Démonstration du panier . . . . . . . . . . . Mise en forme avec une feuille de style CSS Check-list . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
86 86 87 89 93 98 99
Annuaire de sites . . . . . . . . . . . . . . . . . . 101 7.1. 7.2.
7.3.
8
. . . . . . .
Panier e-commerce . . . . . . . . . . . . . . . . . . 85 6.1. 6.2.
7
Description du projet . . . . . . . . . . . . . . . . . . . . . Description des solutions techniques . . . . . . . . . . . . Jeu de sudoku avec fichier de configuration . . . . . . . Création de la base de données et respect de la norme SQL Création du formulaire . . . . . . . . . . . . . . . . . . . . . Analyse des résultats . . . . . . . . . . . . . . . . . . . . . . Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description du projet . . . . . . . . . . . . . . . . . . Description des solutions techniques . . . . . . . . . Création des tables SQL . . . . . . . . . . . . . . . . . Configuration de l’annuaire . . . . . . . . . . . . . . . Fonctions utiles pour l’annuaire de sites . . . . . . . . Page principale : classement et affichage des sites . . Écriture dynamique des balises title et meta . . . . . . Comptabilisation des visites . . . . . . . . . . . . . . . Génération d’une image aléatoire pour les formulaires Soumission d’un site par un visiteur . . . . . . . . . . Mise en forme des pages en CSS . . . . . . . . . . . . Réécriture des URL avec .htaccess . . . . . . . . . . . Check-list . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
102 102 103 105 106 110 117 118 118 119 128 129 131
Gestionnaire de téléchargements . . . . . . . . . 133 8.1. 8.2.
Description du projet . . . . . . . . . . . . . . . . . Description des solutions techniques . . . . . . . . Création de la table SQL . . . . . . . . . . . . . . . Configuration et connexion à votre base de données Lancement des téléchargements en PHP . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
134 134 135 136 137
Sommaire
8.3.
9
9.3.
Description du projet . . . . . . . . . . . . . Description des solutions techniques . . . . Création de la table SQL . . . . . . . . . . . Configuration du gestionnaire de partenaires Page d’affichage des partenaires . . . . . . . Mise en forme avec une feuille de style CSS Page d’administration des partenaires . . . . Évolutions possibles . . . . . . . . . . . . . . Check-list . . . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
138 142 143 144 149 151
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
154 154 154 156 156 161 162 167 168
Agrégateur de flux RSS. . . . . . . . . . . . . . . 169 10.1. Définition du RSS . . . . . . . . . . . . . . . Libre service . . . . . . . . . . . . . . . . . . Enjeu commercial . . . . . . . . . . . . . . . 10.2. Description du projet . . . . . . . . . . . . . Conditions préalables . . . . . . . . . . . . . Exemple de fichiers RSS . . . . . . . . . . . Description des fichiers RSS . . . . . . . . . 10.3. Présentation des fichiers RSS sur votre site Les fonctions SimpleXML . . . . . . . . . . 10.4. Gestionnaire de fichiers RSS . . . . . . . . La liste de l’administrateur . . . . . . . . . . L’ajout . . . . . . . . . . . . . . . . . . . . . La suppression . . . . . . . . . . . . . . . . . La lecture . . . . . . . . . . . . . . . . . . . . La lecture parfois difficile . . . . . . . . . . . 10.5. Check-list . . . . . . . . . . . . . . . . . . .
11
. . . . . .
Gestionnaire de partenaires . . . . . . . . . . . . 153 9.1. 9.2.
10
Page d’affichage des téléchargements . . . . . . Mise en forme CSS de la page d’accueil . . . . . Le fichier fonctions.php . . . . . . . . . . . . . . Partie administration des téléchargements . . . . Mise en forme CSS de la page d’administration . Check-list . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
170 170 170 171 171 171 172 174 177 177 178 180 182 183 186 188
Créateur RSS . . . . . . . . . . . . . . . . . . . . 189 11.1. Description du projet . . . . . . . . 11.2. Installation de la base de données Configuration de la connexion . . . Connexion à la base . . . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
190 190 190 190
Sommaire Création des tables de la base de données 11.3. Gestion des listes de diffusion . . . . . . Liste des canaux . . . . . . . . . . . . . . Création de canal . . . . . . . . . . . . . . Suppression de canal . . . . . . . . . . . . 11.4. Gestion des annonces diffusées . . . . . Affichage du canal au format XHTML . . Création d’une annonce . . . . . . . . . . Suppression d’une annonce . . . . . . . . Affichage du canal au format RSS . . . . 11.5. Check-list . . . . . . . . . . . . . . . . .
12
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
191 193 194 196 198 200 200 203 205 207 209
Affichage graphique de statistiques météorologiques . . . . . . . . . . . . . . . . . . . 211 12.1. Description du projet . . . . . . . . . . . . Réinventer la roue . . . . . . . . . . . . . . 12.2. Conditions préalables . . . . . . . . . . . Ressources nécessaires . . . . . . . . . . . Installation des ressources nécessaires . . . 12.3. Chargement des statistiques en mémoire Fichier de statistiques . . . . . . . . . . . . Chargement des données en mémoire . . . 12.4. Courbes de températures . . . . . . . . . Méthode factory() . . . . . . . . . . . . . . Gestion des axes . . . . . . . . . . . . . . . 12.5. Histogramme des jours de pluie par mois Gestion des gradients . . . . . . . . . . . . 12.6. Camembert des précipitations par ville . Définition de la transparence . . . . . . . . 12.7. Check-list . . . . . . . . . . . . . . . . . .
13
. . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
212 212 212 212 213 216 216 217 218 221 221 222 225 226 229 230
Création de miniatures, superposition d’images. 231 13.1. Description du projet . . . . . . . . . . . . . . . . . 13.2. Description des solutions techniques . . . . . . . . Activer la librairie GD 2 . . . . . . . . . . . . . . . . Miniaturiser une image avec un cadre et un texte . . Superposer des images : ajouter un filigrane . . . . . Créer un effet de fondu au chargement d’une image 13.3. Check-list . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
232 232 232 234 236 239 243
Sommaire
14
Album de photos avec diaporamas . . . . . . . . 245 14.1. Description du projet . . . . . . . . . . . . 14.2. Description des solutions techniques . . . La page de l’album de photos . . . . . . . . Le diaporama avec défilement manuel . . . Le diaporama avec défilement automatique La mise en forme des pages en CSS . . . . 14.3. Check-list . . . . . . . . . . . . . . . . . .
15
. . . . . .
. . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
246 246 247 248 252 255 258
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
260 262 262 264 268 271
QCM . . . . . . . . . . . . . . . . . . . . . . . . . . 273 16.1. Description du projet . . . . . . . . . . . . . 16.2. Installation de la base de données . . . . . Installation des tables de la base de données . 16.3. Connexion via PDO . . . . . . . . . . . . . Présentation de PDO . . . . . . . . . . . . . . Passage d’un script particulier pour MySQL 16.4. Classe Message . . . . . . . . . . . . . . . . 16.5. Les classes héritant QCM . . . . . . . . . . Classe Formulaire . . . . . . . . . . . . . . . Classe Question . . . . . . . . . . . . . . . . Classe Réponse . . . . . . . . . . . . . . . . . 16.6. Check-list . . . . . . . . . . . . . . . . . . .
17
. . . . . . .
Analyseur des journaux de visites Apache . . . . 259 15.1. Description du projet . . . . . . . . . . . 15.2. Description des solutions techniques . . Classe de lecture des journaux de visites . Classe d’analyse des journaux de visites . Page de rapport de fréquentation d’un site 15.3. Check-list . . . . . . . . . . . . . . . . .
16
. . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
274 274 274 280 280 284 284 286 287 289 292 295
Gestion de rapport sous MySQL . . . . . . . . . 297 17.1. Description du projet . . . . . . . . . . . . . . 17.2. Présentation de Smarty . . . . . . . . . . . . Installation de Smarty . . . . . . . . . . . . . . 17.3. Statistiques sous MySQL . . . . . . . . . . . Script de récupération des variables de MySQL Premier modèle de présentation . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
298 298 298 301 301 303
Sommaire Second modèle de présentation . . . . . . . . . . . . . . . . . . 303 17.4. Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
18
Moteur de recherche textuel . . . . . . . . . . . 307 18.1. Description du projet . . . . . . . . . . . . . . 18.2. Chargement des données . . . . . . . . . . . Paramétrage de la connexion . . . . . . . . . . Paramétrage des publications RSS à enregistrer Enregistrement des publications . . . . . . . . 18.3. Recherche des informations . . . . . . . . . . Création d’un index . . . . . . . . . . . . . . . Création d’un index textuel . . . . . . . . . . . 18.4. Exploitation de la recherche textuelle . . . . 18.5. Check-list . . . . . . . . . . . . . . . . . . . .
19
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
308 308 308 308 310 311 312 315 319 322
Tchat. . . . . . . . . . . . . . . . . . . . . . . . . . 323 19.1. Description du projet . . . . . . . . . . . . 19.2. Conditions préalables . . . . . . . . . . . 19.3. La création de la base de données . . . . Moteur de table MEMORY (HEAP) . . . . Paramétrage de la connexion . . . . . . . . Script de création . . . . . . . . . . . . . . 19.4. Pages imbriquées conformes à XHTML . Formulaire de connexion . . . . . . . . . . Cadre principal . . . . . . . . . . . . . . . . Enregistrement de nouveaux messages . . . Affichage des messages échangés . . . . . . Affichage des internautes présents . . . . . Quelques pistes d’amélioration . . . . . . . 19.5. Check-list . . . . . . . . . . . . . . . . . .
20
. . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
324 324 324 324 326 327 327 328 329 331 332 334 335 336
Arbre généalogique . . . . . . . . . . . . . . . . . 337 20.1. Description du projet . . . . . . . . . . . . . . . . . . . 20.2. Installation de la base de données . . . . . . . . . . . Installation des tables et des vues de la base de données 20.3. Présentation des vues . . . . . . . . . . . . . . . . . . . Syntaxe de création de vue . . . . . . . . . . . . . . . . Interrogation d’une vue . . . . . . . . . . . . . . . . . . Exemples de vues . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
338 338 338 341 342 342 342
Sommaire 20.4. Votre arbre généalogique . . . . . . . . . . . . . . . . . . . . Liste déroulante des membres de votre famille . . . . . . . . . Ajout de membres de votre famille à votre arbre généalogique . Suppression de membres de votre famille de votre arbre généalogique . . . . . . . . . . . . . . . . . . . . . . . . . . . . Présentations de votre arbre généalogique . . . . . . . . . . . . 20.5. Piste d’améliorations pour l’arbre généalogique . . . . . . . 20.6. Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
351 354 361 362
Gestion des news . . . . . . . . . . . . . . . . . . 363 21.1. 21.2. 21.3. 21.4.
Présentation du module . . . . . . . . . . . . . . . . . . . . Langages et technologies utilisés pour cet exemple . . . . Listing des fichiers/répertoires du module . . . . . . . . . Présentation de la base MySQL utilisée . . . . . . . . . . . Présentation de la table tblnews . . . . . . . . . . . . . . . . . Présentation de la table tblmembre . . . . . . . . . . . . . . . Installation de la base de données . . . . . . . . . . . . . . . 21.5. Présentation et utilisation de l’interface d’administration Connexion à l’interface d’administration . . . . . . . . . . . Ajout d’une news dans la base de données . . . . . . . . . . . Modification d’une news enregistrée . . . . . . . . . . . . . . Suppression d’une news enregistrée . . . . . . . . . . . . . . 21.6. Interface d’affichage public des news . . . . . . . . . . . . Installation du jeu d’essai de news . . . . . . . . . . . . . . . Visualisation et étude de l’index . . . . . . . . . . . . . . . . 21.7. Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
345 345 347
. . . . . . . . . . . . . . . .
364 364 365 365 366 366 367 368 368 369 371 373 375 375 376 380
Gestion des membres . . . . . . . . . . . . . . . . 381 22.1. Présentation du module . . . . . . . . . . . . . . . . . . . . Langages et technologies utilisées pour ce module . . . . . . Listing des fichiers/répertoires du module . . . . . . . . . . . 22.2. Présentation de la base de données MySQL . . . . . . . . Présentation de la table tblmembreniveau . . . . . . . . . . . 22.3. Installation de la base de données . . . . . . . . . . . . . . 22.4. Présentation et utilisation de l’interface d’administration 22.5. Ajout d’un nouveau membre dans la base de données . . 22.6. Modification des informations d’un membre enregistré . . Étude de la méthode Membre.modifierMembre() . . . . . . . 22.7. Suppression d’un membre enregistré . . . . . . . . . . . . Étude de la méthode Membre.supprimerMembre() . . . . . .
. . . . . . . . . . . .
382 382 382 383 383 384 385 386 392 394 395 395
Sommaire 22.8. Interface publique tenant compte des restrictions d’accès . 396 22.9. Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
23
Contrôle de validité humaine . . . . . . . . . . . . 401 23.1. 23.2. 23.3. 23.4. 23.5. 23.6. 23.7. 23.8.
24
Présentation du module . . . . . . . . . . . . . . . . . . . . Langages et technologies utilisés pour ce module . . . . . Listing des fichiers/répertoires du module . . . . . . . . . Installation de la base de données MySQL et présentation des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . Détails de la classe imageControle . . . . . . . . . . . . . . Intégration d’images de contrôle dans des formulaires . . Personnalisation des images générées . . . . . . . . . . . . Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
403 404 406 413 416
Gestion d’un calendrier . . . . . . . . . . . . . . . 417 24.1. 24.2. 24.3. 24.4.
Présentation du module . . . . . . . . . . . . . . . . . . . . Langages et technologies utilisés . . . . . . . . . . . . . . . Listing des fichiers/répertoires du module . . . . . . . . . Installation de la base de données MySQL et présentation des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . 24.5. Détails du processus d’ajout d’événement . . . . . . . . . . 24.6. Détails des vues d’affichage public . . . . . . . . . . . . . . Affichage par jour . . . . . . . . . . . . . . . . . . . . . . . . Affichage par mois . . . . . . . . . . . . . . . . . . . . . . . . Conclusion et perspectives d’évolution du module . . . . . . 24.7. Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
. 402 . 402 . 403
. 418 . 418 . 418 . . . . . . .
419 420 424 424 428 431 432
Gestion de sondages . . . . . . . . . . . . . . . . 433 25.1. 25.2. 25.3. 25.4.
Présentation du module . . . . . . . . . . . . . . . . . Langages et technologies utilisés dans ce module . . Listing des fichiers et répertoires de ce module . . . . Installation et présentation de la base de données du module . . . . . . . . . . . . . . . . . . . . . . . . . 25.5. Présentation et étude de l’interface d’administration Ajout d’un nouveau sondage dans la base de données . Ajout d’un nouveau groupe de sondages dans la base de données . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 434 . . . . 434 . . . . 434 . . . . 435 . . . . 436 . . . . 436 . . . . 442
Sommaire 25.6. Présentation des sondages dans la partie publique du site Formulaire de vote au sondage . . . . . . . . . . . . . . . . . Cadre de visualisation des résultats actuels pour un sondage . 25.7. Conclusion et perspectives d’évolution du module . . . . . 25.8. Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
Présentation du chapitre . . . . . . . . . . . . . . . . . . . Langages, technologies et services utilisés . . . . . . . . . Listing des fichiers et répertoires . . . . . . . . . . . . . . Installation de la base de données MySQL . . . . . . . . Interface d’administration . . . . . . . . . . . . . . . . . Ajout d’un diffuseur dans la base de données . . . . . . . . Ajout d’une nouvelle publicité . . . . . . . . . . . . . . . . Gestion des pages du site web . . . . . . . . . . . . . . . . Affichage des publicités sur les pages du site web . . . . . Affichage aléatoire de codes publicitaires sur une page non enregistrée . . . . . . . . . . . . . . . . . . . . . . . . . . . Conclusion et perspectives d’évolution . . . . . . . . . . . . 26.6. Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
452 452 452 453 454 454 457 462 464
. . 468 . . 470 . . 471
Génération de graphiques . . . . . . . . . . . . . 473 27.1. 27.2. 27.3. 27.4.
27.5. 27.6. 27.7. 27.8. 27.9.
28
445 446 447 450 450
Gestion d’une régie publicitaire . . . . . . . . . . 451 26.1. 26.2. 26.3. 26.4. 26.5.
27
. . . . .
Présentation du chapitre . . . . . . . . . . . Langages et technologies utilisés . . . . . . Listing des fichiers et répertoires . . . . . . Présentation de la librairie JpGraph . . . . Étude de la version PHP 4 . . . . . . . . . . . Étude de la version PHP 5 . . . . . . . . . . . Conclusion sur les différences entre versions Création d’un diagramme de GANT . . . . Création d’un camembert graphique 3D . Génération d’un traceur de résultats . . . Conclusion et perspectives d’évolution . . Check-list . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
. . . . . . . . . . . .
474 474 474 475 476 477 478 479 481 484 487 488
Gestion d’un carnet d’adresses . . . . . . . . . . 489 28.1. Présentation du module . . . . . . . . . . . . . . . . . . . . . 490 28.2. Langages et technologies utilisés . . . . . . . . . . . . . . . . 490 28.3. Listing des fichiers et répertoires . . . . . . . . . . . . . . . . 491
Sommaire 28.4. Installation et présentation de la base de données du module . . . . . . . . . . . . . . . . . . . . . . . . . . . 28.5. Présentation de l’interface d’administration et étude du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ajout d’un contact dans le carnet d’adresses . . . . . . . . . Gestion des groupes de contacts du carnet d’adresses . . . . 28.6. Conclusion et perspectives d’évolution . . . . . . . . . . 28.7. Check-list . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
. . . . .
492 492 499 506 506
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
508 508 508 511 515 518 522 522 523 523
Échange de mots doux en AJAX . . . . . . . . . . 525 30.1. 30.2. 30.3. 30.4. 30.5. 30.6.
31
. . . . .
Validation d’adresses e-mail . . . . . . . . . . . . 507 29.1. Description du projet . . . . . . . . . . . . . . . . . . . 29.2. Validation d’adresses e-mail . . . . . . . . . . . . . . . Mise en place d’un outil de test . . . . . . . . . . . . . . Validation rapide par expression régulière . . . . . . . . Validation avec la classe Mail de Pear . . . . . . . . . . Validation avec interrogation du serveur . . . . . . . . . 29.3. Solution à adopter . . . . . . . . . . . . . . . . . . . . Une solution très fiable : l’activation par retour d’e-mail 29.4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 29.5. Check-list . . . . . . . . . . . . . . . . . . . . . . . . .
30
. . 491
Présentation du chapitre . . . . . . . . . . . . Langages et technologies utilisés . . . . . . . Listing de fichiers et répertoires du module . Présentation du script shoutbox.php . . . . . Conclusion et perspectives d’évolution . . . Check-list . . . . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
526 526 526 527 532 532
Annexes . . . . . . . . . . . . . . . . . . . . . . . . 533 31.1. Webographie . . . . . . . . . . . . . . . . . Installation de PHP/MySQL . . . . . . . . . PHP . . . . . . . . . . . . . . . . . . . . . . . MySQL . . . . . . . . . . . . . . . . . . . . . XHTML, HTML et CSS . . . . . . . . . . . . 31.2. Bibliographie . . . . . . . . . . . . . . . . . Apprendre SQL avec MySQL . . . . . . . . . SQL La référence . . . . . . . . . . . . . . . SQL : Synthèse de cours et exercices corrigés Le Zen des CSS . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
534 534 534 536 536 537 537 538 539 540
Sommaire Best Practice PHP 5 . . . . . . . . . . . . . . . . . . . . . . . . 541 Je me lance avec PHP et MySQL . . . . . . . . . . . . . . . . . 542 PHP 5 et MySQL 5 . . . . . . . . . . . . . . . . . . . . . . . . 543
32
Index . . . . . . . . . . . . . . . . . . . . . . . . . . 545