Examen Final Prog.Web 15-16

Problème 1 :

Soit la classe Point vue en cours et définie comme suit :

class Point

{ private $abs, $ord ; 

  public   function __construct ($x, $y)  

  { $this->abs = $x ;  $this->ord   = $y ; }

  public   function affiche () 

  { echo "Ceci est un point de coordonnées ",   

    $this->abs, " ", $this->ord, "<br>" ; 

  }

}
1) Donner la définition de la classe Coté qui étend la classe Point et qui est caractérisée comme suit:

2) Donner la définition de la classe Carré qui étend la classe Coté et qui est caractérisée comme suit:

3- Donner la définition de la classe Rectangle qui étend la classe Carré et qui est caractérisée comme suit:

4) Donner le script PHP (sans reprendre les définitions des classes ci-dessus) qui permet de :

[Voir la solution (script php complet)]

Problème 2 :

Afin de représenter une base de données LIVRES sur un serveur web, vous avez opté pour la structure XML suivante :

<BDD>

 <livre   titre="..." édition="..." ISBN="..."/>

  <auteurs>

    <auteur   nom="..." prénom="..."/>

  </auteurs>

  <sections> 

    <section   titre="..."> 

      <chapitre   titre="...">

          <paragraphe>…</paragraphe>

          <paragraphe>…</paragraphe>

      </chapitre>

    </section>

  </sections>

 </livre>

</BDD>

Un livre pourra contenir plusieurs auteurs, sections, chapitres ou paragraphes.

A. Donnez un script PHP qui devra afficher le plan d'un livre dont la liste des auteurs contient au moins le nom/prénom nom1 prénom1 comme indiqué ci-dessous:

 Livre   : Monlivre1   // afficher le titre du livre

 Auteur:nom1   prenom1

 Auteur:nom2   prenom2

 1.   Section1        // afficher le titre de la première section

 1.1.   Chapitre1  // afficher le titre du chapitre 

 2.   Section2

 2.1.   Chapitre1

 2.2.   Chapitre2

[Voir la solution (script PHP)]

B. Donner un script PHP qui permet d'ajouter un nouveau livre à la BDD. [Voir la solution (script PHP), Voir le fichier XML généré]

    Quel est le problème qui se posera lorsque le nombre de livres devient important ?

    Proposez une solution pour résoudre ce problème (sans donner de script).


Réponses aux questions de la partie B: