Valid XHTML    Valid CSS2    

Listing du fichier l2a_tp3.php

 

00001     <?php
00002     
# (gH) -_- l2a_tp3.php ; TimeStamp (unix) : 31 Mars 2013 vers 12:08
00003     
00004     
error_reporting(E_ALL | E_NOTICE | E_STRICT) ;
00005     include(
"std.php") ;
00006     include(
"l2a_inc.php") ;
00007     
00008     
$numTp
= 3 ;
00009     
debutPageTp
($numTp) ;
00010     
00011     
## -------------------------------------------------------------------------------------------
00012     
00013     
sdl
(3) ; echo cmt(' pour afficher toutes les solutions : l2a_tp'.$numTp.'.php?solutions=1') ; sdl(3) ;
00014     
00015     
## -------------------------------------------------------------------------------------------
00016     
00017     
debutSection() ;
00018     
00019     
$tableauDesRubriques = array() ;
00020     
$idr
= 0 ;
00021     
$idr
++; $tableauDesRubriques[$idr] = "Objets en PHP" ;
00022     
$idr
++; $tableauDesRubriques[$idr] = "La structure de données ".b("\"pile\"")." version 3" ;
00023     
$idr
++; $tableauDesRubriques[$idr] = "PHP et histogrammes avec JPGRAPH" ;
00024     
$idr
++; $tableauDesRubriques[$idr] = "PHP, MySQL et histogrammes" ;
00025     
$idr
++; $tableauDesRubriques[$idr] = "Ecrire du PDF avec PHP" ;
00026     
$idr
++; $tableauDesRubriques[$idr] = "Lire des fichiers Excel avec PHP" ;
00027     
$idr
++; $tableauDesRubriques[$idr] = "Afficher du code PHP " ;
00028     
$idr
++; $tableauDesRubriques[$idr] = "Afficher/masquer des solutions avec Javascript" ;
00029     
$idr
++; $tableauDesRubriques[$idr] = "PHP, XML et DOM" ;
00030     
$idr
++; $tableauDesRubriques[$idr] = "PHP, XML et Ajax" ;
00031     
$tdmCRLM
= new tdm($tableauDesRubriques) ;
00032     
$tdmCRLM
->titre() ;
00033     
$tdmCRLM
->menu("oui","oui","nou") ;
00034     
00035     
pvide() ;
00036     
00037     
p() ;
00038      echo
"Il est possible d'afficher toutes les solutions via "
.href("l2a_tp$numTp.php?solutions=1","?solutions=1","bouton_fin jaune_pastel nou").". " ;
00039     
finp() ;
00040     
00041     
finSection() ;
00042     
00043     
debutSection() ;
00044     
$numExo
= 0 ;
00045     
00046     
## -------------------------------------------------------------------------------------------
00047     
00048     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Objets en PHP
00049     
00050     ## -------------------------------------------------------------------------------------------
00051     
00052     
blockquote() ;
00053     
00054     
blockquote() ;
00055     
00056     
p
("texte") ;
00057     echo
"Implémenter une classe d'objets Personnes avec nom et prénom puis deux sous-classes Producteurs et Artistes de Personnes, " ;
00058     echo
" avec Acteurs et MetteursEnScène comme sous-classes d'Artistes qui incluent respectivement une année de naissance et une " ;
00059     echo
" liste de films. " ;
00060     echo
"On se servira des tables vues à l'"
.href("l2a_tp2.php?solutions=1#tdm6","exercice 6","grouge nou")." du TP2 pour saisir quelques personnes." ;
00061     echo
" Est-ce une bonne idée de séparer les classes Acteurs et MetteursEnScène&nbsp;?" ;
00062     
finp() ;
00063     
00064     
p
("texte") ;
00065     echo
b
("Remarque :")." on viendra ajouter des propriétés getAnNaissanceFromTable, getListeFilmsFromTable etc. " ;
00066     
finp() ;
00067     
00068     
/*
00069     p("texte") ;
00070     echo "Ecrire ensuite un formulaire en PHP conceptuel qui reproduit le code XHTML suivant et implémenter le programme " ;
00071     echo " correspondant à l'attribut ".b("action").". " ;
00072     echo " La page Web correspondante est ".href("artform.php")."." ;
00073     finp() ;
00074     
00075     pre_fichier("artform.txt","cadre") ;
00076     */
00077     
00078     
finblockquote() ;
00079     
00080     
solution
($numExo,$numTp) ;
00081     
00082     
p
("texte") ;
00083     echo
"Consulter "
.href("artistes.php")." et son code-source via le lien en bas de la page affichée pour la définition et l'utilisation " ;
00084     echo
" de la classe d'objets "
.b("Personnes").". " ;
00085     
finp() ;
00086     
00087     
/*
00088     p("texte") ;
00089     echo "Pour reproduire le formulaire, voir son ".href("montresource.php?nomfic=artform.php","code-source","gbleu nou")." numéroté, soit l'extrait de code suivant&nbsp;:" ;
00090     finp() ;
00091     
00092     pre_fichier("artform_extrait.txt","cadrejaune") ;
00093     */
00094     
00095     
finsolution() ;
00096     
00097     
finblockquote() ;
00098     
00099     
## -------------------------------------------------------------------------------------------
00100     
00101     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # La structure de données ".b("\"pile\"")." version 3" ;
00102     
00103     ## -------------------------------------------------------------------------------------------
00104     
00105     
blockquote() ;
00106     
00107     
blockquote() ;
00108     
00109     
p
("texte") ;
00110     echo
"Reprendre l'implémentation ligne de commande d'une pile en programmation objets. " ;
00111     echo
" Voici comment on voudrait l'utiliser&nbsp;:" ;
00112     
finp() ;
00113     
00114     
pre_fichier
("pilev3_demo.php","cadrebleu") ;
00115     
00116     
finblockquote() ;
00117     
00118     
solution
($numExo,$numTp) ;
00119     
00120     
pre_fichier
("pilev3.php","cadre") ;
00121     
00122     
finsolution() ;
00123     
00124     
finblockquote() ;
00125     
00126     
## -------------------------------------------------------------------------------------------
00127     
00128     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP et histogrammes avec JPGRAPH
00129     
00130     ## -------------------------------------------------------------------------------------------
00131     
00132     
blockquote() ;
00133     
00134     
blockquote() ;
00135     
00136     
p
("texte") ;
00137     echo
"Produire avec PHP un histogramme des fréquences relatives associées aux valeurs 3 6 11 5 " ;
00138     echo
" pour les jours lundi, mardi, jeudi et vendredi. Il s'agit de km parcourus par un " ;
00139     echo
b
("google car").". On essaiera de trouver plusieurs solutions pour construire la bonne URL. " ;
00140     echo
" Voici ce qu'on doit obtenir&nbsp;:" ;
00141     
finp() ;
00142     
00143     
p() ;
00144     
nbsp
(7) ;
00145     
$url
= "../jphistopct.php?vdata=3_6_11_5&amp;xmrks=Lundi_Mardi_Jeudi_Vendredi&amp;titr=Google%20car" ;
00146     echo
href
($url,img($url,"google car","300")) ;
00147     
finp() ;
00148     
00149     
p() ;
00150     echo
"Au passage, quel est code PHP conceptuel pour afficher cette image cliquable&nbsp;?" ;
00151     
finp() ;
00152     
00153     
finblockquote() ;
00154     
00155     
solution
($numExo,$numTp) ;
00156     
00157     
00158     
p
("texte") ;
00159     echo
"Une première solution consiste à construire l'URL &laquo;à la main&raquo; à partir de l'adresse " ;
00160     echo
href
("../jphistopct.php","jphistopct.php").". " ;
00161     echo
" Une seconde solution est d'utiliser deux tableaux contenant respectivement les kilomètres et les jours " ;
00162     echo
" avant de construire l'URL à partir d'une boucle sur les tableaux. " ;
00163     echo
" Une troisième solution est d'utiliser des chaines de caractères des valeurs par copier/coller de l'énoncé et la fonction " ;
00164     echo
b
("mot")." de strfun.php utilisé par std.php ; " ;
00165     echo
" enfin une quatrième est d'utiliser un tableau associatif. C'est à vous de choisir. Dans tous les cas, on doit " ;
00166     echo
" aboutir à la m&ecirc;me URL. Voici le lien de la solution&nbsp;: "
.href("gcar.php")." et son " ;
00167     echo
href
("montresource.php?nomfic=gcar.php","code-source").". L'URL est donc " ;
00168     
finp() ;
00169     
00170     
pre_fichier
("gcar_url.txt","cadrebleu") ;
00171     
00172     
p
("texte") ;
00173     echo
"Dans la solution, le code PHP est conceptuel, l'affichage de l'image cliquable se réduit donc à " ;
00174     
finp() ;
00175     
00176     
pre_fichier
("gcar_php.txt","cadrejaune") ;
00177     
00178     
finsolution() ;
00179     
00180     
finblockquote() ;
00181     
00182     
## -------------------------------------------------------------------------------------------
00183     
00184     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP, MySQL et histogrammes
00185     
00186     ## -------------------------------------------------------------------------------------------
00187     
00188     
blockquote() ;
00189     
00190     
blockquote() ;
00191     
00192     
p
("texte") ;
00193     echo
"On voudrait connaitre l'histogramme des fréquences relatives des personnes des divers " ;
00194     echo
" niveaux d'étude de la table "
.href("../Datasets/elf.htm","ELF")." qui est dans la base statdata." ;
00195     
finp() ;
00196     
00197     
p
("texte") ;
00198     echo
"Généraliser ensuite à un champ quelconque de modalités dans une table, avec un tableau des labels des " ;
00199     echo
" modalités. Par exemple on utilisera "
.b('histo("SEXE","ELF",array(0=>"Homme",1=>"Femme")')." pour avoir " ;
00200     echo
" les effectifs relatifs du code-sexe des personnes de la table. On vérifiera que le code suivant fournit " ;
00201     echo
" aussi un histogramme&nbsp;:" ;
00202     
finp() ;
00203     
00204     
pre_fichier
("histotitanic.txt","cadre") ;
00205     
00206     
00207     
p
("texte") ;
00208     echo
" La table citée fait référence aux données "
.href("../Datasets/titanic.htm","TITANIC")." qui est aussi dans la base statdata." ;
00209     
finp() ;
00210     
00211     
finblockquote() ;
00212     
00213     
solution
($numExo,$numTp) ;
00214     
00215     
p
("texte") ;
00216     echo
"Il s'agit en fait de l'"
.href("tds.php#histo","exercice 16","gvertf nou")." de notre cours sur la " ;
00217     echo
href
("pdc.php","technologie internet","gbleuf nou")." dont la solution est ".href("solutions.php#histo","ici","grouge nou").". " ;
00218     echo
" On en profitera bien s&ucirc;r pour regarder les autres exercices..." ;
00219     
finp() ;
00220     
finsolution() ;
00221     
00222     
finblockquote() ;
00223     
00224     
## -------------------------------------------------------------------------------------------
00225     
00226     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Ecrire du PDF avec PHP
00227     
00228     ## -------------------------------------------------------------------------------------------
00229     
00230     
blockquote() ;
00231     
00232     
blockquote() ;
00233     
00234     
p
("texte") ;
00235     echo
"Produire un document PDF qui correspond à la page "
.href("filmsartistes.html") ;
00236     echo
" (vue à l'"
.href("l2a_tp2.php?solutions=1#tdm6","exercice 6","grouge nou")." du TP2) " ;
00237     echo
" puis un autre un document PDF qui correspond à la page "
.href("chanteurs.php") ;
00238     echo
" (vue comme solution à l'"
.href("l2a_tp2.php?solutions=1#tdm4","exercice 4","grouge nou")." du m&ecirc;me TP2)." ;
00239     
finp() ;
00240     
00241     
finblockquote() ;
00242     
00243     
solution
($numExo,$numTp) ;
00244     
00245     
vnc() ;
00246     
00247     
finsolution() ;
00248     
00249     
finblockquote() ;
00250     
00251     
## -------------------------------------------------------------------------------------------
00252     
00253     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Lire des fichiers Excel avec PHP
00254     
00255     ## -------------------------------------------------------------------------------------------
00256     
00257     
blockquote() ;
00258     
00259     
p
("texte") ;
00260     echo
"Lire le fichier "
.href("elf.xls")." qui correspond aux données ".b("ELF")." de l'exercice 4 " ;
00261     echo
" et produire un tableau des effectifs du code-sexe et l'histogramme associé. On utilisera une fonction " ;
00262     echo
" suffisamment générale pour pouvoir l'appliquer à "
.href("titanic.xls").". " ;
00263     
finp() ;
00264     
00265     
solution
($numExo,$numTp) ;
00266     
00267     
p
("texte") ;
00268     echo
"Consulter "
.href("litelfxls.php").". " ;
00269     
finp() ;
00270     
00271     
finsolution() ;
00272     
00273     
finblockquote() ;
00274     
00275     
00276     
## -------------------------------------------------------------------------------------------
00277     
00278     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Afficher du code PHP
00279     
00280     ## -------------------------------------------------------------------------------------------
00281     
00282     
blockquote() ;
00283     
blockquote() ;
00284     
00285     
p
("texte") ;
00286     echo
"Comment peut-on afficher du code PHP dont les lignes sont éventuellement numérotées&nbsp;?" ;
00287     
finp() ;
00288     
00289     
finblockquote() ;
00290     
00291     
solution
($numExo,$numTp) ;
00292     
00293     
p
("texte") ;
00294     echo
"Notre programme "
.href("montresource.php?nomfic=montresource.php","montresource.php")." s'en occupe très bien..." ;
00295     
finp() ;
00296     
00297     
finsolution() ;
00298     
00299     
finblockquote() ;
00300     
00301     
## -------------------------------------------------------------------------------------------
00302     
00303     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # Afficher/masquer des solutions avec Javascript
00304     
00305     ## -------------------------------------------------------------------------------------------
00306     
00307     
blockquote() ;
00308     
blockquote() ;
00309     
00310     
p
("texte") ;
00311     echo
"Expliquer comment les solutions sont affichées ou masquées dans cette page." ;
00312     
finp() ;
00313     
00314     
finblockquote() ;
00315     
00316     
solution
($numExo,$numTp) ;
00317     
00318     
p
("texte") ;
00319     echo
"Chaque page d'exercices charge "
.href("montresource.php?nomfic=l2a_tp.js","l2a_tp.js")." qui, " ;
00320     echo
" lorsqu'on clique sur le bouton solution, permute les styles " ;
00321     echo
b
("invisible")." et style ".b("visible")." pour l'élément ".b("&lt;div&gt;")." qui contient le texte de la solution. " ;
00322     echo
" Au passage, chaque division solution de l'exercice est numérotée, donc on ne montre que la solution considérée. " ;
00323     echo
" Par contre, si utilise le bouton général du haut de la page, c'est PHP qui met le style "
.b("visible")." par défaut " ;
00324     echo
" pour toutes les solutions." ;
00325     
finp() ;
00326     
00327     
finsolution() ;
00328     
00329     
finblockquote() ;
00330     
00331     
## -------------------------------------------------------------------------------------------
00332     
00333     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP et DOM
00334     
00335     ## -------------------------------------------------------------------------------------------
00336     
00337     
blockquote() ;
00338     
blockquote() ;
00339     
00340     
p
("texte") ;
00341     echo
"Reproduire le formulaire suivant en PHP conceptuel et son action " ;
00342     
finp() ;
00343     
00344     
blockquote() ;
00345     
00346     
form
("genereprotxml.php") ;
00347     
table
(1,7,"collapse jaune_pastel") ;
00348     
00349     
tr() ;
00350     
th
("C","bleu_pastel") ; input_submit("générer","","bouton_fin orange_pastel") ; finth() ;
00351     
th
() ; echo "Identifiant" ; finth() ;
00352     
th
() ; echo "Séquence" ; finth() ;
00353     
th
() ; echo "Classe" ; finth() ;
00354     
th
() ; echo "Longueur" ; finth() ;
00355     
fintr() ;
00356     
00357     
$tabLet
= array("non utilisé","i","s","c","l") ;
00358      for (
$idl
=1;$idl<=2;$idl++) {
00359     
tr() ;
00360     
td() ;
00361      if (
$idl
==1) {
00362      echo
"Elément" ;
00363      } else {
00364      echo
"Attribut" ;
00365      } ;
# finsi
00366     
fintd() ;
00367      for (
$idc
=1;$idc<=4;$idc++) {
00368     
td
("C") ;
00369     
$onoff
= "" ;
00370      if (
$idl
==1) { $onoff="checked" ; $laval = "e" ; } ;
00371      if (
$idl
==2) { $onoff="" ; $laval = "a" ; } ;
00372     
input_radio
($tabLet[$idc],$laval,"","",$onoff) ;
00373     
fintd() ;
00374      } ;
# fin pour idc
00375     
fintr() ;
00376      } ;
# fin pour idl
00377     
00378     
fintable() ;
00379     
finform() ;
00380     
00381     
finblockquote() ;
00382     
00383     
00384     
p
("texte") ;
00385     echo
"Au fait, que génère ce formulaire ? " ;
00386     
finp() ;
00387     
00388     
finblockquote() ;
00389     
00390     
solution
($numExo,$numTp) ;
00391     
00392     
p
("texte") ;
00393     echo
"Voir la "
.href("../Webrd/bioinfxml.php#stockage","fin","grouge nou")." de la section 1 de la page " ;
00394     echo
" "
.href("../Webrd/bioinfxml.php","bioinfxml.php","gbleu nou").". " ;
00395     
finp() ;
00396     
00397     
p
("texte") ;
00398     echo
"Le formulaire génère un fichier XML qui contient la séquence Fasta d'une protéine, c'est-à-dire la liste de ses acides aminés. " ;
00399     echo
" Suivant ce qui est cliqué, on produit des éléments ou des attributs pour stocker les informations. " ;
00400     
finp() ;
00401     
00402     
00403     
finsolution() ;
00404     
00405     
finblockquote() ;
00406     
00407     
## -------------------------------------------------------------------------------------------
00408     
00409     
$tdmCRLM
->afficheRubrique("oui") ; $numExo++ ; # PHP, XML et Ajax
00410     
00411     ## -------------------------------------------------------------------------------------------
00412     
00413     
blockquote() ;
00414     
blockquote() ;
00415     
00416     
p
("texte") ;
00417     echo
"Réaliser la solution AJAX proposée en fin d'exercice "
.href("l2a_tp2.php?solutions=1#tdm11","11","grouge").". " ;
00418     
finp() ;
00419     
00420     
finblockquote() ;
00421     
00422     
solution
($numExo,$numTp) ;
00423     
00424     
vnc() ;
00425     
00426     
finsolution() ;
00427     
00428     
finblockquote() ;
00429     
00430     
## -------------------------------------------------------------------------------------------
00431     
00432     
finPageTp
($numTp) ; # contient finSection() et finPage() ; la fonction est dans l2a_inc.php
00433     
00434     
?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)