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 
;
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 
;
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 
;
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     ?>

La coloration syntaxique est réalisée par un enrobage de la function php nommée highlight_file

mais si vous préférez, vous pouvez utiliser celle de SyntaxHighlighter ou même celle de geshi.

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)