Valid XHTML     Valid CSS2    

Listing du fichier l2a_tp3.php avec syntaxhighlighter


        <?php
        #    (gH)   -_-  l2a_tp3.php  ;  TimeStamp (unix) : 31 Mars 2013 vers 12:08
        
        error_reporting(E_ALL | E_NOTICE | E_STRICT) ;
        include("std.php") ;
        include("l2a_inc.php") ;
        
        $numTp = 3 ;
        debutPageTp($numTp) ;
        
        ## -------------------------------------------------------------------------------------------
        
        sdl(3) ; echo cmt(' pour afficher toutes les solutions : l2a_tp'.$numTp.'.php?solutions=1') ; sdl(3) ;
        
        ## -------------------------------------------------------------------------------------------
        
        debutSection() ;
        
        $tableauDesRubriques = array() ;
        $idr = 0 ;
        $idr++; $tableauDesRubriques[$idr] = "Objets en PHP" ;
        $idr++; $tableauDesRubriques[$idr] = "La structure de données ".b("\"pile\"")." version 3" ;
        $idr++; $tableauDesRubriques[$idr] = "PHP et histogrammes avec JPGRAPH" ;
        $idr++; $tableauDesRubriques[$idr] = "PHP, MySQL et histogrammes" ;
        $idr++; $tableauDesRubriques[$idr] = "Ecrire du PDF avec PHP" ;
        $idr++; $tableauDesRubriques[$idr] = "Lire des fichiers Excel avec PHP" ;
        $idr++; $tableauDesRubriques[$idr] = "Afficher du code PHP " ;
        $idr++; $tableauDesRubriques[$idr] = "Afficher/masquer des solutions avec Javascript" ;
        $idr++; $tableauDesRubriques[$idr] = "PHP, XML et DOM" ;
        $idr++; $tableauDesRubriques[$idr] = "PHP, XML et Ajax" ;
        $tdmCRLM = new tdm($tableauDesRubriques) ;
        $tdmCRLM->titre() ;
        $tdmCRLM->menu("oui","oui","nou") ;
        
        pvide() ;
        
        p() ;
         echo "Il est possible d'afficher toutes les solutions via ".href("l2a_tp$numTp.php?solutions=1","?solutions=1","bouton_fin jaune_pastel nou").". " ;
        finp() ;
        
        finSection() ;
        
        debutSection() ;
        $numExo = 0 ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Objets en PHP
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        
        blockquote() ;
        
        p("texte") ;
        echo "Implémenter une classe d'objets Personnes avec nom et prénom puis deux  sous-classes Producteurs et Artistes de Personnes, " ;
        echo " avec Acteurs et MetteursEnScène comme sous-classes d'Artistes qui incluent respectivement une année de naissance et une " ;
        echo " liste de films. " ;
        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." ;
        echo " Est-ce une bonne idée de séparer les classes Acteurs et MetteursEnScène&nbsp;?" ;
        finp() ;
        
        p("texte") ;
        echo b("Remarque :")." on viendra ajouter des propriétés getAnNaissanceFromTable, getListeFilmsFromTable etc. " ;
        finp() ;
        
        /*
        p("texte") ;
        echo "Ecrire ensuite un formulaire en PHP conceptuel qui reproduit le code XHTML suivant et implémenter le programme " ;
        echo " correspondant à l'attribut ".b("action").". " ;
        echo " La page Web correspondante est ".href("artform.php")."." ;
        finp() ;
        
        pre_fichier("artform.txt","cadre") ;
        */
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        p("texte") ;
        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 " ;
        echo " de la classe d'objets ".b("Personnes").". " ;
        finp() ;
        
        /*
        p("texte") ;
        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;:"  ;
        finp() ;
        
        pre_fichier("artform_extrait.txt","cadrejaune") ;
        */
        
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # La structure de données ".b("\"pile\"")." version 3" ;
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        
        blockquote() ;
        
        p("texte") ;
        echo "Reprendre l'implémentation ligne de commande d'une pile en programmation objets. " ;
        echo " Voici comment on voudrait l'utiliser&nbsp;:" ;
        finp() ;
        
        pre_fichier("pilev3_demo.php","cadrebleu") ;
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        pre_fichier("pilev3.php","cadre") ;
        
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # PHP et histogrammes avec JPGRAPH
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        
        blockquote() ;
        
        p("texte") ;
        echo "Produire avec PHP un histogramme des fréquences relatives associées aux valeurs 3 6 11 5 " ;
        echo " pour les jours lundi, mardi, jeudi et vendredi. Il s'agit de km parcourus par un " ;
        echo b("google car").". On essaiera de trouver plusieurs solutions pour construire la bonne URL. " ;
        echo " Voici ce qu'on doit obtenir&nbsp;:" ;
        finp() ;
        
        p() ;
        nbsp(7) ;
        $url = "../jphistopct.php?vdata=3_6_11_5&amp;xmrks=Lundi_Mardi_Jeudi_Vendredi&amp;titr=Google%20car" ;
        echo href($url,img($url,"google car","300")) ;
        finp() ;
        
        p() ;
        echo "Au passage, quel est code PHP conceptuel pour afficher cette image cliquable&nbsp;?" ;
        finp() ;
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        
        p("texte") ;
        echo "Une première solution consiste à construire l'URL &laquo;à la main&raquo; à partir de l'adresse " ;
        echo href("../jphistopct.php","jphistopct.php").". " ;
        echo " Une seconde solution est d'utiliser deux tableaux contenant respectivement les kilomètres et les jours " ;
        echo " avant de construire l'URL à partir d'une boucle sur les tableaux. " ;
        echo " Une troisième solution est d'utiliser des chaines de caractères des valeurs par copier/coller de l'énoncé et la fonction " ;
        echo b("mot")." de strfun.php utilisé par std.php ; " ;
        echo " enfin une quatrième est d'utiliser un tableau associatif. C'est à vous de choisir. Dans tous les cas, on doit " ;
        echo " aboutir à la m&ecirc;me URL. Voici le lien de la solution&nbsp;: ".href("gcar.php")." et son " ;
        echo href("montresource.php?nomfic=gcar.php","code-source").". L'URL est donc " ;
        finp() ;
        
        pre_fichier("gcar_url.txt","cadrebleu") ;
        
        p("texte") ;
        echo "Dans la solution, le code PHP est conceptuel, l'affichage de l'image cliquable se réduit donc à " ;
        finp() ;
        
        pre_fichier("gcar_php.txt","cadrejaune") ;
        
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # PHP, MySQL et histogrammes
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        
        blockquote() ;
        
        p("texte") ;
        echo "On voudrait connaitre l'histogramme des fréquences relatives des personnes des divers " ;
        echo " niveaux d'étude de la table ".href("../Datasets/elf.htm","ELF")." qui est dans la base statdata." ;
        finp() ;
        
        p("texte") ;
        echo "Généraliser ensuite à un champ quelconque de modalités dans une table, avec un tableau des labels des " ;
        echo " modalités. Par exemple on utilisera ".b('histo("SEXE","ELF",array(0=>"Homme",1=>"Femme")')." pour avoir " ;
        echo " les effectifs relatifs du code-sexe des personnes de la table. On vérifiera que le code suivant fournit " ;
        echo " aussi un histogramme&nbsp;:" ;
        finp() ;
        
        pre_fichier("histotitanic.txt","cadre") ;
        
        
        p("texte") ;
        echo " La table citée fait référence aux données ".href("../Datasets/titanic.htm","TITANIC")." qui est aussi dans la base statdata." ;
        finp() ;
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        p("texte") ;
        echo "Il s'agit en fait de l'".href("tds.php#histo","exercice 16","gvertf nou")." de notre cours sur la " ;
        echo href("pdc.php","technologie internet","gbleuf nou")." dont la solution est ".href("solutions.php#histo","ici","grouge nou").". " ;
        echo " On en profitera bien s&ucirc;r pour regarder les autres exercices..." ;
        finp() ;
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Ecrire du PDF avec PHP
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        
        blockquote() ;
        
        p("texte") ;
        echo "Produire un document PDF qui correspond à la page ".href("filmsartistes.html") ;
        echo " (vue à l'".href("l2a_tp2.php?solutions=1#tdm6","exercice 6","grouge nou")." du TP2) " ;
        echo " puis un autre un document PDF qui correspond à la page ".href("chanteurs.php") ;
        echo " (vue comme solution à l'".href("l2a_tp2.php?solutions=1#tdm4","exercice 4","grouge nou")." du m&ecirc;me TP2)." ;
        finp() ;
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        vnc() ;
        
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Lire des fichiers Excel avec PHP
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        
        p("texte") ;
        echo "Lire le fichier ".href("elf.xls")." qui correspond aux données ".b("ELF")." de l'exercice  4 " ;
        echo " et produire un tableau des effectifs du code-sexe et l'histogramme associé. On utilisera une fonction " ;
        echo " suffisamment générale pour pouvoir l'appliquer à ".href("titanic.xls").". " ;
        finp() ;
        
        solution($numExo,$numTp) ;
        
        p("texte") ;
        echo "Consulter ".href("litelfxls.php").". " ;
        finp() ;
        
        finsolution() ;
        
        finblockquote() ;
        
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Afficher du code PHP
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        blockquote() ;
        
        p("texte") ;
        echo "Comment peut-on afficher du code PHP dont les lignes sont éventuellement numérotées&nbsp;?" ;
        finp() ;
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        p("texte") ;
        echo "Notre programme ".href("montresource.php?nomfic=montresource.php","montresource.php")." s'en occupe très bien..." ;
        finp() ;
        
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Afficher/masquer des solutions avec Javascript
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        blockquote() ;
        
        p("texte") ;
        echo "Expliquer comment les solutions sont affichées ou masquées dans cette page." ;
        finp() ;
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        p("texte") ;
        echo "Chaque page d'exercices charge ".href("montresource.php?nomfic=l2a_tp.js","l2a_tp.js")." qui, " ;
        echo " lorsqu'on clique sur le bouton solution, permute les styles " ;
        echo b("invisible")." et style ".b("visible")." pour l'élément ".b("&lt;div&gt;")." qui contient le texte de la solution. " ;
        echo " Au passage, chaque division solution de l'exercice est numérotée, donc on ne montre que la solution considérée. " ;
        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 " ;
        echo " pour toutes les solutions." ;
        finp() ;
        
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # PHP et DOM
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        blockquote() ;
        
        p("texte") ;
        echo "Reproduire le formulaire suivant en PHP conceptuel et son action " ;
        finp() ;
        
        blockquote() ;
        
        form("genereprotxml.php") ;
        table(1,7,"collapse jaune_pastel") ;
        
          tr() ;
            th("C","bleu_pastel") ; input_submit("générer","","bouton_fin orange_pastel") ; finth() ;
            th() ; echo "Identifiant"  ; finth() ;
            th() ; echo "Séquence"   ; finth() ;
            th() ; echo "Classe"     ; finth() ;
            th() ; echo "Longueur"   ; finth() ;
          fintr() ;
        
          $tabLet = array("non utilisé","i","s","c","l") ;
          for ($idl=1;$idl<=2;$idl++) {
            tr() ;
               td() ;
                  if ($idl==1) {
                    echo "Elément" ;
                  } else {
                    echo "Attribut" ;
                  } ; # finsi
               fintd() ;
               for ($idc=1;$idc<=4;$idc++) {
                 td("C") ;
                   $onoff= "" ;
                   if ($idl==1) { $onoff="checked" ; $laval = "e" ; } ;
                   if ($idl==2) { $onoff=""        ; $laval = "a" ; } ;
                   input_radio($tabLet[$idc],$laval,"","",$onoff) ;
                   fintd() ;
               } ; # fin pour idc
            fintr() ;
          } ; # fin pour idl
        
        fintable() ;
        finform() ;
        
        finblockquote() ;
        
        
        p("texte") ;
        echo "Au fait, que génère ce formulaire ? " ;
        finp() ;
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        p("texte") ;
        echo "Voir la ".href("../Webrd/bioinfxml.php#stockage","fin","grouge nou")." de la section 1 de la page "  ;
        echo " ".href("../Webrd/bioinfxml.php","bioinfxml.php","gbleu nou").". " ;
        finp() ;
        
        p("texte") ;
        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. "  ;
        echo " Suivant ce qui est cliqué, on produit des éléments ou des attributs pour stocker les informations. " ;
        finp() ;
        
        
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # PHP, XML et Ajax
        
        ## -------------------------------------------------------------------------------------------
        
        blockquote() ;
        blockquote() ;
        
        p("texte") ;
        echo "Réaliser la solution AJAX proposée en fin d'exercice ".href("l2a_tp2.php?solutions=1#tdm11","11","grouge").". " ;
        finp() ;
        
        finblockquote() ;
        
        solution($numExo,$numTp) ;
        
        vnc() ;
        
        finsolution() ;
        
        finblockquote() ;
        
        ## -------------------------------------------------------------------------------------------
        
        finPageTp($numTp) ; # contient finSection() et finPage() ; la fonction est dans l2a_inc.php
        
        ?>
        

La coloration syntaxique est réalisée par : SyntaxHighlighter.

Si vous préférez, vous pouvez utiliser celle de geshi ou même celle construite autour de la fonction highlight_file.

 

 

retour gH    Retour à la page principale de   (gH)