Valid XHTML     Valid CSS2    

Développement Web avancé L2 (PHP et MySQL)

TP numéro 3

                     gilles.hunault "at" univ-angers.fr

 

Table des matières cliquable

  1. Objets en PHP

  2. La structure de données "pile" version 3

  3. PHP et histogrammes avec JPGRAPH

  4. PHP, MySQL et histogrammes

  5. Ecrire du PDF avec PHP

  6. Lire des fichiers Excel avec PHP

  7. Afficher du code PHP

  8. Afficher/masquer des solutions avec Javascript

  9. PHP, XML et DOM

10. PHP, XML et Ajax

 

Il est possible d'afficher toutes les solutions via ?solutions=1.

 

1. Objets en PHP

Implémenter une classe d'objets Personnes avec nom et prénom puis deux sous-classes Producteurs et Artistes de Personnes, avec Acteurs et MetteursEnScène comme sous-classes d'Artistes qui incluent respectivement une année de naissance et une liste de films. On se servira des tables vues à l'exercice 6 du TP2 pour saisir quelques personnes. Est-ce une bonne idée de séparer les classes Acteurs et MetteursEnScène ?

Remarque : on viendra ajouter des propriétés getAnNaissanceFromTable, getListeFilmsFromTable etc.

Solution :  

 

2. La structure de données "pile" version 3

Reprendre l'implémentation ligne de commande d'une pile en programmation objets. Voici comment on voudrait l'utiliser :


     <?php
     
     
     $p = new Pile()    ; # objet instance de la classe Pile
     $p->montrerPile()  ; # doit afficher "la pile est vide"
     
     $p->empiler(5)     ; # la pile contient désormais 5
     $p->empiler(2)     ; # la pile contient 5 et, au-dessus, 2
     $p->montrerPile()  ; # voir plus bas
     
     $x = $p->depiler() ; # renvoie 2
     echo "on a enlevé $x (du haut) de la pile\n" ;
     $x = $p->depiler() ; # met 5 dans x
     $x = $p->depiler() ; # afficher "impossible, la pile est vide" ou renvoyer "erreur"  ?
     
     echo "fin de programme.\n"
     
     /***************************************
     
     Affichage :
     
     la pile est vide.
     Contenu de la pile :
       valeur numéro  1 :    2 (haut de la pile)
       valeur numéro  0 :    5 (bas  de la pile)
     on a enlevé 2 (du haut) de la pile
     fin de programme.
     plus de pile !    ## <- affichage de la fonction destructeur
     
     ***************************************/
     
     ?>
     

Solution :  

 

3. PHP et histogrammes avec JPGRAPH

Produire avec PHP un histogramme des fréquences relatives associées aux valeurs 3 6 11 5 pour les jours lundi, mardi, jeudi et vendredi. Il s'agit de km parcourus par un google car. On essaiera de trouver plusieurs solutions pour construire la bonne URL. Voici ce qu'on doit obtenir :

       google car

Au passage, quel est code PHP conceptuel pour afficher cette image cliquable ?

Solution :  

 

4. PHP, MySQL et histogrammes

On voudrait connaitre l'histogramme des fréquences relatives des personnes des divers niveaux d'étude de la table ELF qui est dans la base statdata.

Généraliser ensuite à un champ quelconque de modalités dans une table, avec un tableau des labels des modalités. Par exemple on utilisera histo("SEXE","ELF",array(0=>"Homme",1=>"Femme") pour avoir les effectifs relatifs du code-sexe des personnes de la table. On vérifiera que le code suivant fournit aussi un histogramme :


     <?php
     
     [...]
     $tdm =  array(0=>"décédé",1=>"survivant") ;
     histo("surv","titanic",$tdm) ;
     [...]
     
     ?>
     

La table citée fait référence aux données TITANIC qui est aussi dans la base statdata.

Solution :  

 

5. Ecrire du PDF avec PHP

Produire un document PDF qui correspond à la page filmsartistes.html (vue à l'exercice 6 du TP2) puis un autre un document PDF qui correspond à la page chanteurs.php (vue comme solution à l'exercice 4 du même TP2).

Solution :  

 

6. Lire des fichiers Excel avec PHP

Lire le fichier elf.xls qui correspond aux données ELF de l'exercice 4 et produire un tableau des effectifs du code-sexe et l'histogramme associé. On utilisera une fonction suffisamment générale pour pouvoir l'appliquer à titanic.xls.

Solution :  

 

7. Afficher du code PHP

Comment peut-on afficher du code PHP dont les lignes sont éventuellement numérotées ?

Solution :  

 

8. Afficher/masquer des solutions avec Javascript

Expliquer comment les solutions sont affichées ou masquées dans cette page.

Solution :  

 

9. PHP, XML et DOM

Reproduire le formulaire suivant en PHP conceptuel et son action

Identifiant Séquence Classe Longueur
Elément
Attribut

Au fait, que génère ce formulaire ?

Solution :  

 

10. PHP, XML et Ajax

Réaliser la solution AJAX proposée en fin d'exercice 11.

Solution :  

 

Code-source php de cette page ; code javascript utilisé. Retour à la page principale du cours.

 

 

retour gH    Retour à la page principale de   (gH)