Listing du fichier pagsd5.php
00001 <?php
00002 error_reporting(E_ALL | E_NOTICE | E_STRICT) ;
00003 include("std7.php") ;
00004 include("pagsd_inc.php") ;
00005 # # (gH) -_- pagsd5.php ; TimeStamp (unix) : 07 Janvier 2019 vers 13:25
00006
00007 #######################################################################################
00008
00009 debutPage("PAGSD 5/5","strict","","pagsd.js") ;
00010
00011 debutSection() ;
00012 h1(s_span("P","gbleu")."roduction ".s_span("A","gbleu")."utomatisée de") ;
00013 h1(s_span("G","gbleu")."raphiques, ".s_span("S","gbleu")."tatistiques et ".s_span("D","gbleu")."ocuments") ;
00014 $gh = s_nbsp(20)." gilles.hunault \"at\" univ-angers.fr" ;
00015 h2($gh,"gvert") ;
00016 pvide() ;
00017 h2(" -- partie 5 sur 5 : Graphiques sur le Web avec D3 et Krona");
00018 finSection() ;
00019
00020 ##############################################################################################
00021
00022 sdl(3) ; echo cmt(' pour afficher toutes les solutions : pagsd1.php?solutions=1') ; sdl(3) ;
00023
00024 ## -------------------------------------------------------------------------------------------
00025
00026 debutSection() ;
00027
00028 $tableauDesRubriques = array() ;
00029 $idr = 0 ;
00030 $idr++; $tableauDesRubriques[$idr] = "Affichage de tableaux de données en D3" ;
00031 $idr++; $tableauDesRubriques[$idr] = "Tracés de courbes avec via D3" ;
00032 $idr++; $tableauDesRubriques[$idr] = "Tracés interactifs d'arbres en D3" ;
00033 #$idr++; $tableauDesRubriques[$idr] = "Tracés d'histogrammes via D3" ;
00034 $idr++; $tableauDesRubriques[$idr] = "Tracés de phylogénies et de taxonomies avec Krona" ;
00035 $tdmCRLM = new tdm($tableauDesRubriques) ;
00036 $tdmCRLM->titre() ;
00037 $tdmCRLM->menu("oui","oui","nou") ;
00038
00039 pvide() ;
00040
00041 p() ;
00042 echo "Il est possible d'afficher toutes les solutions via " ;
00043 echo href("pagsd5.php?solutions=1","?solutions=1","bouton_fin vert_pastel nou") ;
00044 echo " et de toutes les masquer avec " ;
00045 echo href("pagsd5.php?solutions=0","?solutions=0","bouton_fin jaune_pastel nou").". " ;
00046 finp() ;
00047
00048 finSection() ;
00049
00050 debutSection() ;
00051
00052 $numSerie = 1 ;
00053 $numExo = 0 ;
00054
00055 ## -------------------------------------------------------------------------------------------
00056
00057 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Affichage de tableaux de données en D3
00058
00059 ## -------------------------------------------------------------------------------------------
00060
00061 blockquote() ;
00062
00063 blockquote() ;
00064
00065 p() ;
00066 echo "Reproduire, en Javascript, à l'aide de D3, le tableau des pays de l'UE avec population et superficie, comme dans la " ;
00067 echo " page ".href("paysUE.php").". On pourra commencer par utiliser le fichier de données ".href("paysUEjs.csv")." avant " ;
00068 echo " d'essayer de faire un \"scraping\" des données en Javascript à partir de la page " ;
00069 echo href("http://www.touteleurope.eu/les-pays-de-l-union-europeenne.html","paysUE").". " ;
00070 finp() ;
00071
00072 finblockquote() ;
00073
00074 solution($numExo,$numSerie) ;
00075
00076 p("texte") ;
00077 echo " On trouvera à l'adresse ".href("paysUE_d3.php")." une solution basée sur le fichier ".b("CSV")." " ;
00078 echo " et à l'adresse ".href("paysUE_d3url.php")." une solution basée sur l'".b("URL")." de l'union européenne." ;
00079 finp() ;
00080
00081 p("texte") ;
00082 echo "Pour la solution basée sur le fichier ".b("CSV").", nous avons priviliégié une approche \"progressive\", " ;
00083 echo " avec de nombreux ajouts successifs " ;
00084 echo "(ajout de l'élément ".bleu("table").", puis de l'élément ".bleu("thead").", de l'élément ".bleu("tbody")."...) " ;
00085 echo " plutôt que de tout faire en une seule fois, avec une fonction Javascript. C'est, à notre avis plus \"pédagogique\" " ;
00086 echo " pour une première écriture de script en javascript et D3." ;
00087 finp() ;
00088
00089 p("texte") ;
00090 echo " La solution proposée ne rend pas le tableau triable. Pourquoi ?" ;
00091 echo " On consultera ".href("paysUE_d3v2.php")." pour corriger ce problème." ;
00092 finp() ;
00093
00094 p("texte") ;
00095 echo "En ce qui concerne la version qui utilise sur l'".b("URL").", il s'agit d'une solution \"multi-tableaux\" " ;
00096 echo " obtenus par l'application d'expressions régulières, qui ressemble donc fortement à la " ;
00097 echo href("paysUE.php","solution en PHP seul","nou gvert") ;
00098 echo " (".href("pagsd2.php?solutions=1#tdm4","exercice 4")." de la ".href("pagsd2.php?solutions=1","séance 2").")." ;
00099 finp() ;
00100
00101 finsolution() ;
00102
00103 finblockquote() ;
00104
00105 ## -------------------------------------------------------------------------------------------
00106
00107 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Tracés de courbes avec D3
00108
00109 ## -------------------------------------------------------------------------------------------
00110
00111 blockquote() ;
00112
00113 blockquote() ;
00114
00115 p("texte") ;
00116 echo "Compléter l'exercice précédent en rajoutant, toujours avec D3, les tracés des superficies et des populations, " ;
00117 echo " sous forme de points ou de cercles de rayon proportionnel à la donnée à tracer." ;
00118 finp() ;
00119
00120 finblockquote() ;
00121
00122 solution($numExo,$numSerie) ;
00123
00124 p("texte") ;
00125 echo "Pas encore ! " ;
00126 echo "A ce jour (2016), aucun étudiant ni aucun internaute averti n'a fourni de solution satisfaisante." ;
00127 finp() ;
00128
00129 finsolution() ;
00130
00131 finblockquote() ;
00132
00133 ## -------------------------------------------------------------------------------------------
00134
00135 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Tracés interactifs d'arbre en D3
00136
00137 ## -------------------------------------------------------------------------------------------
00138
00139 blockquote() ;
00140
00141 blockquote() ;
00142
00143 p("texte") ;
00144 echo "Télécharger l'archive ".href("d3tree.zip")." et vérifier que la page Web ".href("d3tree/d3tree.html","d3tree")." affiche bien " ;
00145 echo " un arbre dont les noeuds sont cliquables. " ;
00146 echo " Ecrire ensuite au choix un programme PHP qui lit un fichier d'arcs au sens de DOT et qui produit une page Web de l'arbre " ;
00147 echo " interactif correspondant ou une page HTML avec un formulaire avec des arcs au sens de DOT géré en Javascript qui produit " ;
00148 echo " là encore un arbre dont les noeuds sont cliquables. " ;
00149 finp() ;
00150
00151 p("texte") ;
00152 echo "Au passage, comment vérifier que le graphe est bien un arbre ?" ;
00153 finp() ;
00154
00155 finblockquote() ;
00156
00157 solution($numExo,$numSerie) ;
00158
00159 p("texte") ;
00160 echo "Pas encore ! " ;
00161 echo "A ce jour (2016), aucun étudiant ni aucun internaute averti n'a fourni de solution satisfaisante." ;
00162 echo " Toutefois, la lecture de l'archive ".href("d3tree.zip")." devrait au moins aider à comprendre comment écrire les arcs du graphe..." ;
00163 finp() ;
00164
00165 finsolution() ;
00166
00167 finblockquote() ;
00168
00169 /*
00170 ## -------------------------------------------------------------------------------------------
00171
00172 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Tracés d'histogrammes via D3
00173
00174 ## -------------------------------------------------------------------------------------------
00175
00176 blockquote() ;
00177
00178 blockquote() ;
00179
00180 p("texte") ;
00181 echo "Réécrire ".href("../jphistopct.php","jphistopct")." en D3. On gardera les mêmes noms de paramètres passés dans l'URL." ;
00182 echo " On s'arrangera pour fournir une fonction générale de tracé, utilisable avec des paramètres-tableaux." ;
00183 finp() ;
00184
00185 p("texte") ;
00186 echo "On commencera par fournir une version non graphique avant de fournir une version ".b("SVG")."." ;
00187 finp() ;
00188
00189 finblockquote() ;
00190
00191 solution($numExo,$numSerie) ;
00192
00193 p("texte") ;
00194 echo "Pas encore ! " ;
00195 echo "A ce jour (2016), aucun étudiant ni aucun internaute averti n'a fourni de solution satisfaisante." ;
00196 finp() ;
00197
00198 finsolution() ;
00199
00200 finblockquote() ;
00201 */
00202
00203 ## -------------------------------------------------------------------------------------------
00204
00205 $tdmCRLM->afficheRubrique("oui") ; $numExo++ ; # Tracés taxonomies et données hiérarchisées avec Krona
00206
00207 ## -------------------------------------------------------------------------------------------
00208
00209 blockquote() ;
00210
00211 blockquote() ;
00212
00213 p("texte") ;
00214 echo "On suppose qu'on dispose de phylogénies et de données hiérarchisées, comme par exemple dans les fichiers " ;
00215 echo href("taxonomie.txt")." et ".href("timeresults.csv").". " ;
00216 echo " Comment les tracer avec Krona ?" ;
00217 finp() ;
00218
00219 finblockquote() ;
00220
00221 solution($numExo,$numSerie) ;
00222
00223 p("texte") ;
00224 echo "Pas encore ! " ;
00225 echo "A ce jour (2016), aucun étudiant ni aucun internaute averti n'a fourni de solution satisfaisante." ;
00226 finp() ;
00227
00228 finsolution() ;
00229
00230 finblockquote() ;
00231
00232 ## -------------------------------------------------------------------------------------------
00233
00234 p() ;
00235 echo href("montresource.php?nomfic=pagsd5.php","Code-source de cette page","orange_stim nou")." ; " ;
00236 echo " fichiers inclus : ".href("montresource.php?nomfic=pagsd_inc.php","pagsd_inc.php","orange_stim nou") ;
00237 echo " et ".href("montresource.php?nomfic=pagsd.js","pagsd.js","orange_stim nou")."." ;
00238 finp() ;
00239
00240 finSection() ;
00241 finPage() ;
00242 ?>
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)