Pré-requis
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
[exercice 1] bases de PHP
- Tester l'instruction d'affichage echo et ses différents modes d'utilisation.
- Faire des boucles pour faire défiler les entiers,
- des boucles imbriquées pour dessiner des figures géométriques.
Il est demandé de systématiquement commenter son code.
- recommencer les dessins de figures géométriques en se forçant à utiliser des procédures.
[exercice 2] 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.
[exercice 3] 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.
[exercice 4] 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 illustratifs de certaines 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 ]
Récupération
- Tous les exemples de cette section [ archive ]
Voir aussi...
- Notes de cours sur le langage PHP
Introduction à la programmation PHP : sa syntaxe générale, sa possible utilisation pour les pages web dynamiques et son interaction avec les bases de données (My)SQL.
- Introduction à l'algorithmique
Cours d'initiation à l'algorithmique : langage de description, utilisation de boucles, types abstraits, algorithmes sur les tableaux, notions de complexité et de calculabilité.
- Bibliographie sur la création de sites web
Des références de livres sur la création de sites web.
- Liens relatifs à la programmation en PHP
Liste de liens vers des sites de référence pour compléter le cours sur la programmation en PHP.
- Travaux pratiques bases de données et langage SQL
Des exemples montrant la création et l'interrogation de bases de données SQL.




