Listing du fichier crs2.php
00001<?php
00002 # # (gH) -_- crs2.php ; TimeStamp (unix) : 07 Septembre 2017 vers 13:47
00003 error_reporting(E_ALL | E_NOTICE ) ;
00004 header('Content-Type "text/html; charset=iso-8859-1"') ;
00005 ini_set( 'default_charset', 'ISO-8859-1' );
00006 include("decra-inc.php") ;
00007 $numCours = 2 ; debutCours($numCours,"Petites applications et langages ".em("ad hoc")) ;
00008
00009 $Awk = ghRouge("Awk") ;
00010 $Perl = ghRouge("Perl") ;
00011 $Php = ghRouge("Php") ;
00012 $Python = ghRouge("Python") ;
00013 $R = ghRouge("R") ;
00014 $Ruby = ghRouge("Ruby") ;
00015
00016 $montre = "non" ;
00017 if (isset($_GET["montre"])) { $montre = "oui" ; } ;
00018 if ($montre=="oui") { $invisible = "visible" ; } else { $invisible = "invisible" ; } ;
00019
00020 #############################################################################
00021
00022 $tableauDesRubriques = array() ;
00023 $idr = 0 ;
00024 $idr++; $tableauDesRubriques[$idr] = "Qu'est-ce qu'une ".em(ghVert("petite"))." application ?" ;
00025 $idr++; $tableauDesRubriques[$idr] = "Les langages de script en général" ;
00026 $idr++; $tableauDesRubriques[$idr] = "Les langages $Awk, $Perl, $Php, $Python et $R" ;
00027 $idr++; $tableauDesRubriques[$idr] = "Quelques petites applications et les langages qui vont avec" ;
00028 $tdmCRLM = new tdm($tableauDesRubriques) ;
00029 $tdmCRLM->titre() ;
00030 $tdmCRLM->menu("oui","oui") ;
00031
00032 #############################################################################
00033
00034 $tdmCRLM->afficheRubrique("oui") ; # Qu'est-ce qu'une petite application ?
00035
00036 #############################################################################
00037
00038 blockquote() ;
00039
00040 table(0,10) ;
00041 tr() ;
00042 td() ;
00043 $img = "https://www.google.fr/search?safe=off&client=ubuntu&hs=wd7&channel=fs&dcr=0&biw=1417&bih=917&tbm=isch&q=petite+cabane+dessin" ;
00044 $img = "https://us.123rf.com/450wm/iimages/iimages1204/iimages120401047/13131891-hut-or-cabin-on-a-white-background.jpg?ver=6" ;
00045 echo img($img,"",200) ;
00046 fintd() ;
00047 td() ;
00048 $img = "http://grattecielpassion.r.g.f.unblog.fr/files/2012/09/moskva-city-246783-300x193.jpg" ;
00049 echo img($img,"",300) ;
00050 fintd() ;
00051 fintr() ;
00052 tr() ;
00053 td() ;
00054 $img = "http://img.over-blog-kiwi.com/0/56/01/45/20140511/ob_f93391_pont-de-bois.jpg" ;
00055 echo img($img,"",200) ;
00056 fintd() ;
00057 td() ;
00058 $img = "http://www.jumpandsmile.fr/wp-content/uploads/2017/07/viaduc-de-millau-france.jpg" ;
00059 $img = "viaduc.jpg" ;
00060 echo img($img,"",250) ;
00061 fintd() ;
00062 fintr() ;
00063 fintable() ;
00064
00065 p("texte") ;
00066 echo " Il n'est certainement pas facile de répondre à cette question car la limite entre une petite application et une \"vraie\" ou " ;
00067 echo " \"grosse\" application est difficile à quantifier. Il est clair qu'un petit pont en bois ou une petite cabane dans la forêt " ;
00068 echo " est plus facile à réaliser qu'un très grand immeuble ou qu'un immense viaduc, mais le point de départ est le même : il faut modéliser." ;
00069 echo " De la même façon, cerner le \"vrai\" ".b("Big Data")." aujourd'hui (2017) et le distinguer de la simple accumulation de données n'est pas " ;
00070 echo " toujours très aisé." ;
00071 finp() ;
00072
00073 p("texte") ;
00074 echo "Nous dirons ici qu'une ".b("petite")." application est une application dont la problématique est cernable en quelques minutes " ;
00075 echo " et dont la réalisation se situe dans un délai «raisonnable» inférieur à 10 heures de travail. Ce seuil " ;
00076 echo " maximal arbitraire n'a pour but ici que de fixer un ordre de grandeur. " ;
00077 echo " Le terme ".b("réalisation")." signifie ici conception, écriture, tests élémentaires. Il ne s'applique pas à la durée " ;
00078 echo " véritable de l'application lors de son utilisation. Cette distinction est très importante pour la ".href("https://fr.wikipedia.org/wiki/Bio-informatique","bio-informatique") ;
00079 echo " par exemple lorsqu'on met au point un petit script d'une dizaine de lignes mais dont l'exécution prend plusieurs jours." ;
00080 finp() ;
00081
00082 ## ---------------------------------------------------------------------------------------------
00083
00084 p("texte gvertf") ;
00085 echo "Voici donc quelques exemples de petites applications :" ;
00086 finp() ;
00087
00088 ul() ;
00089
00090 debutli() ; p("texte") ;
00091 echo "convertir une valeur de pouces en centimètres en ligne de commandes (".href("montresource.php?nomfic=cpc.rex","ici").") " ;
00092 echo " ou par page Web (".href("../internet/pouces.php","là").")" ;
00093 echo " ;" ;
00094 finp() ; finli() ;
00095
00096 debutli() ; p("texte") ;
00097 echo "réaliser une C.A.H. (Classification Ascendante Hiérarchique) sur des données binaires comme sur la page ".href("../Idas/Wcabiq","Cabiq") ;
00098 echo " ;" ;
00099 finp() ; finli() ;
00100
00101 /*
00102 debutli() ; p("texte") ;
00103 echo "écrire un site Web pour comparer la ".href("popular.php","popularité d'artistes")." selon le nombre de ".em("hits")." renvoyés par Google " ;
00104 echo " ;" ;
00105 finp() ; finli() ;
00106 */
00107
00108 debutli() ; p("texte") ;
00109 echo "produire à la volée des ".href("../affichette.php","affichettes triangulaires de présentation") ;
00110 echo "." ;
00111 finp() ; finli() ;
00112
00113 finul() ;
00114
00115 ## ---------------------------------------------------------------------------------------------
00116
00117 p("texte grouge") ;
00118 echo "Comme suite logique, voici quelques exemples d'applications qu'on ne peut pas considérer comme petites :" ;
00119 finp() ;
00120
00121 ul() ;
00122
00123 debutli() ; p("texte") ;
00124 echo "programmer la gestion des vols de l'aéroport de Chicago" ;
00125 echo " ;" ;
00126 finp() ; finli() ;
00127
00128 debutli() ; p("texte") ;
00129 echo "écrire un programme qui évalue des réponses libres de lycéens (par exemple une rédaction, un devoir de philosophie)" ;
00130 echo " ;" ;
00131 finp() ; finli() ;
00132
00133 debutli() ; p("texte") ;
00134 echo "réaliser un correcteur orthographique qui comprend «bien» la langue française" ;
00135 echo " ;" ;
00136 finp() ; finli() ;
00137
00138
00139 debutli() ; p("texte") ;
00140 echo "fournir un gestionnaire de réservation de salles simple et performant" ;
00141 echo "." ;
00142 finp() ; finli() ;
00143
00144 finul() ;
00145
00146 ## ---------------------------------------------------------------------------------------------
00147
00148
00149 p("texte") ;
00150 echo "Pour réaliser une petite application, une fois la barrière des termes métiers franchie, " ;
00151 echo " on doit souvent se tourner vers un langage de programmation adapté. Même s'il est " ;
00152 echo "théoriquement possible de coder un site Web via le langage C, il n'y a pratiquement pas de " ;
00153 echo " tels sites. " ;
00154 finp() ;
00155
00156 p("texte") ;
00157 echo " Des questions à se poser mais qui ne relèvent pas de ce cours sont " ;
00158 echo " «l'application existe-t-elle déjà ? » «Est-elle payante ? » « Facile d'accès ? » " ;
00159 echo " « Est-elle adaptée à nos besoins ? » " ;
00160 echo " Par exemple, pour une proposition de rendez-vous à plusieurs, ce serait stupide de vouloir réinventer ".b("Doodle") ;
00161 echo " sauf à vouloir pouvoir y accéder par programme. " ;
00162 finp() ;
00163
00164 p("texte") ;
00165 echo "Une autre question à se poser mais qui ne relève pas non plus de ce cours est " ;
00166 echo " celle de l'intérêt de l'application. Ainsi, y a-t-il un sens aujourd'hui (2017) " ;
00167 echo " à vouloir inventer un nouveau moteur de recherche comme ".b("Google")." ?" ;
00168 finp() ;
00169
00170
00171 p("texte") ;
00172 echo "Nous supposerons donc ici qu'on s'intéresse à de petites applications pour réaliser des " ;
00173 echo " tâches utiles, originales..." ;
00174 echo " Par exemple, on peut supposer qu'un bon programmeur met \"suffisamment\" de commentaires dans son code, " ;
00175 echo " qu'il définit des " ;
00176 echo href("https://fr.wikipedia.org/wiki/Dessin_technique#Cartouche","cartouches") ;
00177 echo " en haut de fichier comme pour le dessin technique... Une petite application en rapport avec ce thème est " ;
00178 echo " d'essayer de quantifier le pourcentages de commentaires dans le code-source d'une application." ;
00179 finp() ;
00180
00181 finblockquote() ;
00182
00183
00184 #############################################################################
00185
00186 $tdmCRLM->afficheRubrique("oui") ; # Les langages de script en général
00187
00188 #############################################################################
00189
00190 blockquote() ;
00191
00192 p("texte") ;
00193 echo " Programmer une petite application ne requiert pas en général de sortir une grosse artillerie " ;
00194 echo " avec 50 développeurs, des sites-miroirs, des serveurs de tests. Toutefois, elle nécessite autant de " ;
00195 echo " rigueur qu'une grande application, sans quoi elle ne sert à rien. Ainsi il vaut mieux ne pas utiliser un programme qui est censé convertir des " ;
00196 echo " pouces en centimètres si la fiabilité de la conversion n'est pas garantie." ;
00197 finp() ;
00198
00199 p("texte") ;
00200 echo " Réaliser une petite application -- et ce peut être la " ;
00201 echo href("montresource.php?nomfic=convPoucesCm.tcl","maquette") ;
00202 echo " d'une grande application, histoire de dégrossir les besoins " ;
00203 echo " du client -- suppose de pouvoir développer rapidement et facilement, ce qui exclut sans doute les langages compilés. " ;
00204 echo " Un certain nombre de langages de scripts se sont peu à peu imposés pour réaliser ce genre de tâches au fil des années. " ;
00205 echo " Leur persistance au-delà d'une dizaine d'années est un gage de leur valeur. C'est pourquoi il nous semble important de les " ;
00206 echo " connaitre, au moins de nom, au moins au travers de petits exemples. " ;
00207 finp() ;
00208
00209 p("texte") ;
00210 echo "Nous retiendrons donc les langages $Awk, $Perl, $Php, $Python et $R ; tant pis pour " ;
00211 echo " les langages ".b("APL, Rexx/Regina, SmallTalk, Tcl/Tk...")." qui, s'ils sont encore utilisés, relèvent d'une communauté particulière, " ;
00212 echo " induite par le type de machines (IBM), soit par le type d'application (calcul scientifique, interfaces utilisateurs...). " ;
00213 echo " Un lecteur curieux pourra consulter notre vision historique des langages de script via notre " ;
00214 echo href("../Scripts/","cours de master")." sur le sujet." ;
00215 finp() ;
00216
00217 p("texte") ;
00218 $url = "https://www.jsoftware.com/papers/50/" ;
00219 $img = "clavierAPL.jpg" ;
00220 nbsp(5) ;
00221 echo href($url,img($img,"",500)) ;
00222 finp() ;
00223
00224 p("texte") ;
00225 echo " Nous avons aussi écarté les langages dédiés au calcul scientifique inclus dans les logiciels comme ".b("Maple, Mathematica, Matlab, Scilab") ;
00226 echo " pour rester généralistes. C'est par contre le manque de temps imposé par le format de ce cours qui nous empêche de présenter " ;
00227 echo " le langage $Ruby, pour lequel nous avons une préférence, même si $Python semble, dans l'air du temps, plus utilisé que $Ruby. " ;
00228 echo " A ce sujet, on pourra consulter les pages ".href("http://www.burtchworks.com/2017/06/19/2017-sas-r-python-flash-survey-results/ ","burtchworks survey 2017").", " ;
00229 echo href("https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017","SPECTRUM").", " ;
00230 echo href("https://stackify.com/trendiest-programming-languages-hottest-sought-programming-languages-2017/","STACIFY").", " ;
00231 echo href("https://www.tiobe.com/tiobe-index/","TIOBE") ;
00232 echo " et " ;
00233 echo href("https://jaxenter.com/survey-results-top-programming-languages-131820.html","JAXENTER").". " ;
00234 finp() ;
00235
00236 p("texte") ;
00237 echo "Pour éviter de retranscrire ici les rubriques de notre " ;
00238 echo href("../Scripts/","cours de master")." sur les langages de script, nous vous proposons à titre d'introduction " ;
00239 echo " les liens suivants :" ;
00240 finp() ;
00241
00242 blockquote() ;
00243 table() ;
00244 tr() ;
00245 td() ;
00246 $img = "barron.jpg" ;
00247 echo img($img,"",200) ;
00248 fintd() ;
00249 td() ;
00250
00251 ul() ;
00252
00253 debutli() ;
00254
00255 p("texte") ;
00256 echo "Wikis : " ;
00257 finp() ;
00258
00259 blockquote() ;
00260 p() ;
00261 echo href("https://fr.wikipedia.org/wiki/Langage_de_script","langage de script FR") ;
00262 finp() ;
00263 p() ;
00264 echo href("https://en.wikipedia.org/wiki/Scripting_language","langage de script EN") ;
00265 finp() ;
00266 p() ;
00267 echo href("https://fr.wikipedia.org/wiki/Langage_de_programmation_dynamique","langage dynamique ") ;
00268 finp() ;
00269 finblockquote() ;
00270
00271 finli() ;
00272
00273 debutli() ;
00274
00275 p("texte") ;
00276 echo "PDF : " ;
00277 finp() ;
00278
00279 blockquote() ;
00280 p() ;
00281 echo href("http://www.compil.org/_media/menu:viereseau:conferences:conference201011:20101125_langagesscriptscompildayrev10.pdf","COMPIL") ;
00282 finp() ;
00283 p() ;
00284 echo href("https://www.mathrice.fr/IMG/pdf_scripting.pdf","MATHRICE") ;
00285 finp() ;
00286 p() ;
00287 echo href("scriptsTremblay.pdf","Tremblay scripts") ;
00288 finp() ;
00289 finblockquote() ;
00290
00291 finli() ;
00292 finul() ;
00293
00294 fintd() ;
00295 td("L","valigntop") ;
00296
00297 ul() ;
00298 debutli() ;
00299
00300 p("texte") ;
00301 echo "Livres : " ;
00302 finp() ;
00303
00304 blockquote() ;
00305 p("texte") ;
00306 echo href("https://www.amazon.fr/Xtalk-Scripting-Languages-HyperTalk-HyperCard/dp/6131086567","Xtalk: Scripting Languages") ;
00307 finp() ;
00308 p("texte") ;
00309 echo href("https://www.amazon.com/World-Scripting-Languages-David-Barron/dp/0471998869","The World of Scripting Languages") ;
00310 finp() ;
00311 p("texte") ;
00312 echo href("https://www.amazon.com/Langages-scripts-Linux-Christophe-Blaess/dp/2212110286/","langages de script sous Linux") ;
00313 finp() ;
00314 p("texte") ;
00315 echo href("https://www.amazon.com/Lart-scripting-Comprendre-Scripting-PowerShell/dp/221214038X/","l'art du scripting") ;
00316 # https://www.ibm.com/support/knowledgecenter/fr/ssw_ibm_i_73/rzahg/rzahgshell.htm
00317 finp() ;
00318 finblockquote() ;
00319
00320 finli() ;
00321
00322 finul() ;
00323
00324 fintd() ;
00325 fintr() ;
00326 fintable() ;
00327 finblockquote() ;
00328
00329
00330 finblockquote() ;
00331
00332 #############################################################################
00333
00334 $tdmCRLM->afficheRubrique("oui") ; # Les langages Awk, Perl, Php, Pyhton et R
00335
00336 #############################################################################
00337
00338 blockquote() ;
00339
00340 p("texte") ;
00341 echo "Il n'est sans doute pas très difficile d'avoir un peu de culture sur les langages " ;
00342 echo " $Awk, $Perl, $Php, $Python et $R. " ;
00343 echo " Ces langages sont gratuits, généralistes et disponibles partout. Pour vous éviter d'avoir à apprendre en détail tous ces langages, voici ce " ;
00344 echo " que nous avons préparé : des tutoriels et des petits problèmes qui montrent bien l'intérêt du langage. S'il est possible de résoudre tous ces problèmes " ;
00345 echo" avec tous ces langages, certains permettent de le faire plus aisément, ou de façon plus concise..." ;
00346 finp() ;
00347
00348 p("texte") ;
00349 echo "La première chose à faire est donc de survoler les langages, via nos " ;
00350 echo href("../tuteurs/tutliste.htm","tuteurs") ;
00351 echo " ou avec des pages synoptiques comme " ;
00352 echo href("http://hyperpolyglot.org/","hyperpolyglot").", " ;
00353 echo href("http://rosettacode.org/wiki/Rosetta_Code","rosetta code")." et " ;
00354 echo href("https://repl.it/languages","repl.it").". " ;
00355 finp() ;
00356
00357 p("texte") ;
00358 echo "De façon schématique, nous recommandons d'utiliser :" ;
00359 finp() ;
00360
00361 ul() ;
00362
00363 debutli() ;
00364 p() ;
00365 echo "$Awk pour des applications ultra-courtes et/ou jetables, dès lors que les commandes Unix ou Dos enchainées sont insuffisantes à résoudre le problème " ;
00366 echo " ou inadaptées" ;
00367 echo " ;" ;
00368 finp() ;
00369 finli() ;
00370
00371 debutli() ;
00372 p() ;
00373 echo "$Perl s'il y a beaucoup de traitement de données textes à réaliser" ;
00374 echo " ;" ;
00375 finp() ;
00376 finli() ;
00377
00378 debutli() ;
00379 p() ;
00380 echo "$Php s'il faut disposer d'une interface Web" ;
00381 echo " ;" ;
00382 finp() ;
00383 finli() ;
00384
00385 debutli() ;
00386 p() ;
00387 echo "$Python s'il s'agit de traitement scientifique en général" ;
00388 echo " ;" ;
00389 finp() ;
00390 finli() ;
00391
00392 debutli() ;
00393 p() ;
00394 echo "$R lorsqu'il y a beaucoup de statistiques ou des représentations graphiques à produire." ;
00395 finp() ;
00396 finli() ;
00397
00398 finul() ;
00399
00400 finblockquote() ;
00401
00402
00403 #############################################################################
00404
00405 $tdmCRLM->afficheRubrique("oui") ; # Quelques petites applications et les langages qui vont avec
00406
00407 #############################################################################
00408
00409 blockquote() ;
00410
00411 jsf("crs2.js") ;
00412
00413 p("texte") ;
00414 echo "On notera que les applications présentées ici sont de vraiment petites applications. Sauf pour $Awk, les langages " ;
00415 echo " proposés sont aussi capables de produire des applications moyennes ou grandes." ;
00416 finp() ;
00417
00418 $sec = 4 ;
00419 $rub = 0 ;
00420
00421 $rub++ ; h3("$sec.$rub Numéroter les lignes d'un ou plusieurs fichiers avec $Awk") ;
00422
00423 blockquote() ;
00424
00425 p() ;
00426 echo "Comme le titre de la rubrique l'indique, on veut pouvoir consulter un ou des fichiers avec leurs lignes numérotées." ;
00427 finp() ;
00428
00429 p() ;
00430 echo "N'hésitez pas à réfléchir pour obtenir ce qui suit, pour les fichiers ".href("fic1.txt")." et ".href("fic2.txt") ;
00431 echo " avant d'".s_span("afficher la solution","bouton_fin vert_pastel","b$rub","onclick='montreRubrique(\"rub$rub\")'").". " ;
00432 finp() ;
00433
00434 p() ;
00435 echo " Au passage, on regardera ce que produit la commande " ;
00436 echo b('grep --text "## [0-9]" ndl.sh') ;
00437 echo " ; le fichier utilisé est ".href("ndl.sh","ici").". " ;
00438 finp() ;
00439
00440 pre_fichier("ndl_awk.txt","cadre") ;
00441
00442 div("$invisible","rub$rub") ;
00443
00444 h2("Solution","grouge") ;
00445
00446 p() ;
00447 echo "Les fichiers correspondant à la solution sont ".href("montresource.php?nomfic=ndl.sh","ndl.sh")." et ".href("montresource.php?nomfic=ndl.awk","ndl.awk").". " ;
00448 finp() ;
00449
00450 pre_fichier("ndl.sh","cadrebleu") ;
00451 pre_fichier("ndl.awk","cadrejaune") ;
00452
00453 findiv() ;
00454
00455 finblockquote() ;
00456
00457 $rub++ ; h3("$sec.$rub Construire des dictionnaires alphabétiques et fréquentiels avec $Perl") ;
00458
00459 blockquote() ;
00460
00461 p() ;
00462 echo "Il s'agit ici de construire les dictionnaire alphabétiques et fréquentiels d'un texte." ;
00463 finp() ;
00464
00465 p() ;
00466 echo "N'hésitez pas à réfléchir pour obtenir ce qui suit, pour les fichiers ".href("bush2dinvest.txt")." et ".href("beteZola.txt") ;
00467 echo " avant d'".s_span("afficher la solution","bouton_fin vert_pastel","b$rub","onclick='montreRubrique(\"rub$rub\")'")."." ;
00468 finp() ;
00469
00470 pre_fichier("dico_pl.txt","cadre") ;
00471
00472 div("$invisible","rub$rub") ;
00473
00474 h2("Solution","grouge") ;
00475
00476 p() ;
00477 echo "Un seul fichier suffit, ".href("montresource.php?nomfic=dico.pl","dico.pl")."." ;
00478 finp() ;
00479
00480 pre_fichier("dico.pl","cadrebleu") ;
00481
00482 p() ;
00483 echo s_span(" Fichiers résultats ","bouton_fin orange_pastel") ;
00484 nbsp(5) ;
00485 echo href("dico_bush2dinvest.occ.txt","dic_bush2dinvest.txt.occ") ;
00486 nbsp(5) ;
00487 echo href("dico_bush2dinvest.mot.txt","dic_bush2dinvest.txt.mot") ;
00488 nbsp(5) ;
00489 echo href("dico_beteZola.occ.txt","dic_beteZola.txt.occ") ;
00490 nbsp(5) ;
00491 echo href("dico_beteZola.mot.txt","dic_beteZola.txt.mot") ;
00492 nbsp(5) ;
00493 finp() ;
00494
00495 p() ;
00496 echo "Une interface plus agréable est à l'adresse ".href("../Wanalexies/f_dicos.php","Analexies","gvert").". " ;
00497 finp() ;
00498
00499 findiv() ;
00500
00501 finblockquote() ;
00502
00503 $rub++ ; h3("$sec.$rub Veille technologique avec $Php") ;
00504
00505 blockquote() ;
00506
00507 p() ;
00508 echo" On veut comparer le nombre de ".em("hits")." renvoyés par Google sur des termes technologiques comme XML, JAVA..." ;
00509 finp() ;
00510
00511 p() ;
00512 echo "N'hésitez pas à réfléchir pour produire un formulaire et une page de résultats comme ci-dessous " ;
00513 echo " avant d'".s_span("afficher la solution","bouton_fin vert_pastel","b$rub","onclick='montreRubrique(\"rub$rub\")'")."." ;
00514 finp() ;
00515
00516 $img1 = "veille_formulaire.png" ;
00517 $url1 = "veille_formulaire.php" ;
00518 $img2 = "veille_resultats.png" ;
00519 $url2 = "veille_resultats.php" ;
00520 deuxImgurl($img1,$url1,$img2,$url2) ;
00521
00522 p() ;
00523 echo " Au passage, quelle est la différence entre les deux commandes " ;
00524 echo b('grep "## [0-9]"') ;
00525 echo " et " ;
00526 echo b('grep "##\s\+S[0-9]"') ;
00527 echo " ? on pourra les appliquer au " ;
00528 echo href("montresource.php?nomfic=veille_resultats.php","fichier PHP qui produit les résultats") ;
00529 echo "." ;
00530 finp() ;
00531
00532 div("$invisible","rub$rub") ;
00533
00534 h2("Solution","grouge") ;
00535
00536 p() ;
00537 echo "Le code du formulaire se nomme ".href("montresource.php?nomfic=veille_formulaire.php","veille_formulaire.php")." " ;
00538 echo " et le programme qui utilise les données du formulaire est ".href("montresource.php?nomfic=veille_resultats.php","veille_resultats.php")."." ;
00539 finp() ;
00540
00541 pre_fichier("veille_formulaire.php","cadrebleu") ;
00542 pre_fichier("veille_resultats.php","cadrejaune") ;
00543
00544 p() ;
00545 echo s_span(" Liens directs ","bouton_fin orange_pastel") ;
00546 nbsp(5) ;
00547 echo href("veille_formulaire.php","formulaire") ;
00548 nbsp(5) ;
00549 echo href("veille_resultats.php","résultats") ;
00550 echo "." ;
00551 finp( ) ;
00552 findiv() ;
00553
00554 finblockquote() ;
00555
00556 $rub++ ; h3("$sec.$rub Système de fichiers et tailles avec $Python") ;
00557
00558 blockquote() ;
00559
00560 p() ;
00561 echo "On voudrait connaitre la taille des systèmes de fichier et l'espace disque restant sur chaque système de fichier via un script Python." ;
00562 finp() ;
00563
00564 p() ;
00565 echo "N'hésitez pas à réfléchir pour produire une page de résultats et d'options comme ci-dessous " ;
00566 echo " avant d'".s_span("afficher la solution","bouton_fin vert_pastel","b$rub","onclick='montreRubrique(\"rub$rub\")'")."." ;
00567 finp() ;
00568
00569 pre_fichier("pydf.txt","cadre") ;
00570
00571 div("$invisible","rub$rub") ;
00572
00573 h2("Solution","grouge") ;
00574
00575 p() ;
00576 echo "Nous nous contentons ici de reproduire le code $Python de l'utilitaire " ;
00577 echo href("https://pypi.python.org/pypi/pydf","pydf")." qui est disponible sous Linux " ;
00578 echo " sous forme d'un package, installable par ".b("sudo apt-get install pydf").". " ;
00579 echo " Le code source du fichier est accessible ".href("montresource.php?nomfic=pydf.py","ici").". " ;
00580 finp() ;
00581
00582 pre_fichier("pydf.py","cadrejaune") ;
00583
00584 findiv() ;
00585
00586 finblockquote() ;
00587
00588 $rub++ ; h3("$sec.$rub Réaliser des histogrammes de classes avec $R") ;
00589
00590 p() ;
00591 echo "On voudrait décrire une colonne quantitative d'un fichier de données en R. " ;
00592 finp() ;
00593
00594 p() ;
00595 echo "N'hésitez pas à réfléchir pour produire une page de résultats et d'options comme ci-dessous " ;
00596 echo " avant d'".s_span("afficher la solution","bouton_fin vert_pastel","b$rub","onclick='montreRubrique(\"rub$rub\")'")."." ;
00597 finp() ;
00598
00599 pre_fichier("decritqt_res.txt","cadre") ;
00600
00601 $img = "demoDecritQt_ok.png" ;
00602 p() ;
00603 nbsp(9) ;
00604 echo href($img,img($img,"",600)) ;
00605 finp() ;
00606
00607 div("$invisible","rub$rub") ;
00608
00609 h2("Solution","grouge") ;
00610
00611 p() ;
00612 echo "Cette solution met en oeuvre les deux fichiers ".href("montresource.php?nomfic=decritqt.sh","decritqt.sh")." et ".href("montresource.php?nomfic=decritqt.r","decritqt.r")."." ;
00613 finp() ;
00614
00615 pre_fichier("decritqt.sh","cadrejaune") ;
00616 pre_fichier("decritqt.r","cadrebleu") ;
00617
00618 p("texte") ;
00619 echo "Pour des explications sur les graphiques générés, on pourra consulter les sections 2, 5 et 6 de notre " ;
00620 echo href("../wstat/Introduction_R/intror3.php?solutions=1","cours 3") ;
00621 echo " de notre " ;
00622 echo href("../wstat/Introduction_R/","introduction non élémentaire au logiciel $R").". " ;
00623 finp() ;
00624
00625 findiv() ;
00626
00627 finblockquote() ;
00628
00629 #############################################################################
00630
00631 pvide() ;
00632
00633 finCours($numCours) ;
00634 ?>
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)