Travaux pratiques PHP
Pré-requis techniques
La configuration idéale et naturelle, que vous pouvez retrouver par exemple avec un hébergement chez Free, est la suivante :
Système d'exploitation | Linux |
---|---|
Serveur web | Apache |
Base de données | MySQL |
Langage de script | PHP |
Si vous travaillez sous Windows, vous pouvez retrouver Apache, MySQL et PHP à travers un unique produit gratuit : EasyPHP.
Travaux pratiques : exercices en PHP
[ 1 ] Premiers affichages
Utiliser l'instruction d'affichage echo pour afficher :
- une chaîne de caractères,
- une variable contenant un entier,
- une chaîne de caractères faisant apparaître une variable (dont on veut connaître le contenu),
- un texte différent selon qu'une condition est vraie ou fausse.
[ 2 ] Compter avec boucles et procédures
- Produire l'affichage des entiers de 1 à 10 à l'aide d'une boucle while.
- Idem avec une boucle for.
- Placer cette boucle dans une procédure et y faire appel.
- Modifier la procédure pour pouvoir compter de 1 à un entier quelconque.
[ 3 ] Figures géométriques
- Écrire une boucle qui produit une ligne horizontale de 8 étoiles.
- Imbriquer ce code dans une nouvelle boucle pour produire un carré de 8 lignes horizontales, chacune contenant 8 étoiles.
- Produire des triangles rectangles avec différentes orientations.
- Envisager les mêmes figures mais creuses et non plus pleines.
Il est conseillé de systématiquement commenter son code.
- Recommencer les dessins de figures géométriques en utilisant des procédures paramétrées.
[ 4 ] Sur des tableaux de notes
Nous nous intéressons ici à la définition et à la manipulation de tableaux d'entiers en PHP (on pourra commencer par lire ou relire le cours de PHP sur les tableaux).
Écrire les fonctions PHP qui :
- affiche tous les éléments d'un tableau,
- calcule la moyenne des nombres contenus dans un tableau donné,
- indique combien d'éléments sont supérieurs ou égaux à 10,
- teste si la note 20 est présente ou non,
- détermine la meilleure note obtenue.
[ 5 ] Algorithmes avancés sur les tableaux
- Proposer une méthode générale pour rechercher un élément dans un tableau,
- modifier votre code pour pendre en compte que les tableaux considérés sont ordonnés de manière croissante,
- dans ce même cadre, implémenter une recherche dichotomique,
- programmer un tri à bulles,
- implémenter le tri insertion.
[aparté] Jeu avec les tours de Hanoï
Nous disposons d'un code PHP résolvant le problème des tours de Hanoï (voir ce code) pour un nombre de plateaux quelconque.
- Tester et vérifier les solutions proposées pour 3 et 4 plateaux.
- Disposant de 15 minutes de calcul, déterminer le nombre maximal de plateaux pour lequel la solution peut être obtenue dans ce temps imparti.
- En déduire le temps nécessaire pour obtenir la solution pour 64 plateaux.
[ 6 ] Enregistrements et tableaux d'enregistrements
Cet exercice porte sur la définition d'une structure pour décrire un étudiant de l'université, puis sur le traitement de tableaux contenant de tels objets (et représentant donc une promotion d'étudiants).
Selon les intérêts et les projets de chacun, on remplacera les promotions d'étudiants par une bibliothèque de livres, un agenda d'événements, un recueil de recettes de cuisine, une collection d'oiseaux, etc.
Sur la définition d'enregistrements en PHP, on pourra lire ou relire le cours de PHP sur les tableaux associatifs.
- Concevoir en PHP une structure représentant un « Étudiant » (par exemple avec un nom, un prénom, une année de naissance, une note en informatique et d'une note de gestion de projet).
- Définir une procédure PHP qui a pour rôle est d'afficher joliment toutes les informations disponibles sur un étudiant.
- Implémenter la procédure, dédiée cette représentation, qui affiche la moyenne d'un étudiant.
- Créer quelques étudiants et tester les procédures.
- Créer une promotion comme un tableau d'étudiants.
- Pour chaque discipline, impplémenter la procédure qui calcule la moyenne de la promotion.
- Puis la procédure qui trouve et affiche l'étudiant ayant eu la note moyenne maximale.
- Programmer des recherches d'étudiants par nom, puis par année de naissance.
- Enfin, implémenter un tri en vue d'afficher le classement des étudiants par moyenne décroissante.
Scripts illustrant différentes fonctionnalités
La base : PHP et HTML
- Affichage simple [ démo ][ source ]
- Affichage de code HTML [ démo ][ source ]
- Affichage changeant [ démo ][ source ]
Les variables et leurs types
- Variables textes et numériques [ démo ][ source ]
- Les tableaux [ démo ][ source ]
- Les tableaux associatifs [ démo ][ source ]
Les structures de contrôle
- Conditionnel [ démo ][ source ]
- Les boucles pour [ démo ][ source ]
- Les boucles while [ démo ][ source ]
- Les boucles pour et les tableaux [ démo ][ source ]
- Les boucles while et les tableaux associatifs [ démo ][ source ]
- Les boucles foreach et les tableaux [ démo ][ source ]
- Les boucles foreach et les tableaux associatifs [ démo ][ source ]
Procédures, fonctions et bibliothèque
- Les fonctions sans résultat (procédure) [ démo ][ source ]
- Les fonctions avec résultat [ démo ][ source ]
- Une page presque vide utilisant une bibliothèque [ démo ][ source ][ bibliothèque ]
PHP et les formulaires
- Un formulaire simple [ démo ][ source ]
- Un formulaire d'enregistrement [ démo ][ source ][ source PHP ]
- Un formulaire de recherche [ démo ][ source ][ source PHP ]
- Un formulaire de chargement de fichiers [ source ][ source PHP ]
PHP et les bases de données
- Un formulaire d'enregistrement [ source ][ source PHP ]
- Un formulaire de recherche [ source ][ source PHP ]
PHP et les fils RSS
PHP et les fichiers
- Lire et afficher un fichier [ démo ][ source ][ fichier ]
- Lire et afficher un fichier avec des numéros de ligne [ démo ][ source ]
- Récupérer des informations dans un fichier [ démo ][ source ][ fichier ]
Fonctions PHP pour le tri des tableaux
Génération d'images
- Créer une image [ démo ][ source HTML ][ source PHP ]
- Surcharger une image : [ démo ][ source HTML ][ source PHP ]
- Tracer une courbe [ démo ][ source HTML ][ source PHP ]
PHP et la programmation objet
PHP et XML
- Exemple de fichier à traiter [ démo ][ fichier XML ][ fichier DTD ]
- Un premier parser à la SAX [ démo ][ source PHP ]
- Un second [ démo ][ source PHP ]
PHP et identification (authentification HTTP)
- premier essai [ démo ][ source PHP ]
- deuxième essai [ démo ][ source PHP ]
- troisième essai [ démo ][ source PHP ]
PHP et sessions
- enregistrer des informations et les retrouver
- enregistrer [ démo ][ source PHP ]
- relire [ démo ][ source PHP ]
- identification avec les sessions
- login [ démo ][ source PHP ]
- accès [ démo ][ source PHP ]
- logout [ démo ][ source PHP ]
PHP et l'envoi automatique de mails
- formulaire d'envoi chez Free [ source PHP ]
- formulaire d'envoi avec construction de l'en-tête du mail [ source PHP ]