Valid XHTML     Valid CSS2    

Listing du fichier formats.php

 

00001     <?php
00002     error_reporting
(E_ALL | E_NOTICE | E_STRICT) ;
00003     include(
"std7.php") ;
00004     include(
"pagsd_inc.php") ;
00005     
# # (gH) -_- formats.php ; TimeStamp (unix) : 07 Janvier 2019 vers 13:23
00006     
00007     #######################################################################################
00008     
00009     
debutPage
("PAGSD : formats","strict","","pagsd.js ../js/raphael.js") ;
00010     
00011     
debutSection() ;
00012     
h1
(s_span("P","gbleu")."roduction ".s_span("A","gbleu")."utomatis&eacute;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
(" -- pr&eacute;requis : formats de fichiers et production automatis&eacute;e de documents");
00018     
finSection() ;
00019     
00020     
##############################################################################################
00021     
00022     
debutSection() ;
00023     
00024     
$tableauDesRubriques = array() ;
00025     
$idr
= 0 ;
00026     
$idr
++; $tableauDesRubriques[$idr] = "Fichiers et formats de fichiers" ;
00027     
$idr
++; $tableauDesRubriques[$idr] = "Documents, tableaux et graphiques" ;
00028     
$idr
++; $tableauDesRubriques[$idr] = "Documents papier et pages $web" ;
00029     
$idr
++; $tableauDesRubriques[$idr] = "Outils logiciels pour la production automatis&eacute;e de documents" ;
00030     
$tdmCRLM
= new tdm($tableauDesRubriques) ;
00031     
$tdmCRLM
->titre() ;
00032     
$tdmCRLM
->menu("oui","oui","nou") ;
00033     
00034     
pvide
() ; $nrub = 0 ;
00035     
00036     
## -------------------------------------------------------------------------------------------
00037     
00038     
$nrub
++ ; $tdmCRLM->afficheRubrique("oui") ; # 1. Fichiers et formats de fichiers
00039     
00040     ## -------------------------------------------------------------------------------------------
00041     
00042     
blockquote() ;
00043     
00044     
p
("texte") ;
00045     echo
"Sans fichiers, l'informatique n'irait pas bien loin. \n" ;
00046     echo
"Un fichier au format binaire brut ("
.b(em("raw"))." en anglais) est difficilement exploitable. \n" ;
00047     echo
"On ne peut ni le lire ni le comprendre facilement. \n" ;
00048     echo
"Un fichier au format texte est tout de suite accessible, interrogeable, &eacute;ditable \n" ;
00049     echo
"m&ecirc;me s'il comporte plusieurs centaines ou plusieurs milliers de lignes. \n" ;
00050     
finp() ;
00051     
00052     
p
("texte") ;
00053     echo
"Ainsi, le fichier "
.href("listefichiers.sor.txt")." qui comporte 12600 lignes peut &ecirc;tre " ;
00054     echo
" consult&eacute; en ligne de commande avec des commandes comme " ;
00055     echo
b
("ls").", " ;
00056     echo
b
("wc").", " ;
00057     echo
b
("head").", " ;
00058     echo
b
("tail").", " ;
00059     echo
b
("grep")."... " ;
00060     
finp() ;
00061     
00062     
# commandes.sh.sor est produit par : commandes commandes.sh "\$gh> " > commandes.sh.sor
00063     # commandes fait r&eacute;f&eacute;rence &agrave; ~/Bin/commandes.rex
00064     
00065     
pre_fichier
("commandes.sh.sor","cadrebleu") ;
00066     
00067     
p
("texte") ;
00068     echo
"Pour trouver des lignes dans ce fichier, " ;
00069     echo
" &agrave; d&eacute;faut de "
.b("grep").", il est possible d'&eacute;diter le fichier avec un simple &eacute;diteur de textes et " ;
00070     echo
" d'utiliser le menu "
.b("Edition/Rechercher").". " ;
00071     
finp() ;
00072     
00073     
p
("texte") ;
00074     echo
"Pour disposer de documents structur&eacute;s, lisibles, mis en page, il faut recourir \n" ;
00075     echo
" &agrave; "
.vert("Microsoft Office")." ou ".vert("Open Office")." avec leurs formats ".bleu("DOC").", ".bleu("XLS")." \n" ;
00076     echo
" et plus r&eacute;cemment avec les formats "
.bleu("DOCX").", ".bleu("ODT").", ".bleu("XLSX")." et ".bleu("ODS")." (" ;
00077     echo
href
("../Farcompr/sacor.htm#archives","qui sont des archives contenant des fichiers XML","nou").") \n" ;
00078     echo
" \n" ;
00079     echo
"mais l'&eacute;dition au clavier et &agrave; la souris se r&eacute;v&egrave;le vite fastidieuse pour des \n" ;
00080     echo
"documents importants. L'inclusion de fichiers-texte, par exemple issus de programmes informatiques, \n" ;
00081     echo
"est un casse-t&ecirc;te avec ces logiciels alors que c'est un jeu d'enfants avec un navigateur \n" ;
00082     echo
"ou avec un logiciel comme
$latex. \n" ;
00083     
finp() ;
00084     
00085     
p
("texte") ;
00086     echo
" Imaginez par exemple que vous vouliez mettre dans un document
$word le fichier ".href("resultats.txt")." qui " ;
00087     echo
" est le r&eacute;sultat de l'ex&eacute;cution du programme "
.href("montresource.php?nomfic=calculs.php","calculs.php")." et obtenu " ;
00088     echo
" par la commande " ;
00089     
finp() ;
00090     
00091     
pre_fichier
("calculs.sor","cadre") ;
00092     
00093     
p
("texte") ;
00094     echo
" On peut soit faire un copier/coller du contenu du fichier soit utiliser une technique d'inclusion dans un ";
00095     echo
" document-ma&icirc;tre. Ce n'est pas difficile. Mais si vous modifiez le programme, il est plus complexe " ;
00096     echo
" de mettre &agrave; jour le document
$word&nbsp;: il faut s&eacute;lectionner l'ancienne partie de document correspondant, la supprimer " ;
00097     echo
" puis ins&eacute;rer le nouveau texte. Sans parler des manipulations s'il faut changer la police de caract&egrave;res (par exemple " ;
00098     echo
" pour utiliser une police non proportionnelle), ajouter la couleur, etc.\n" ;
00099     
finp() ;
00100     
00101     
p
("texte") ;
00102     echo
"Lorsqu'on utilise
$html ou $latex, il n'y a pas lieu de refaire ce genre de manipulation parce que \n" ;
00103     echo
" le rendu est assur&eacute; &agrave; la vol&eacute;e, au moment o&ugrave; on demande la visualisation (
$html) ou la composition ($latex)&nbsp;" ;
00104     echo
" il s'agit donc d'un "
.b("processus dynamique")." de mise en forme et de mise en page " ;
00105     echo
" sans interaction clavier ou souris." ;
00106     echo
" La g&eacute;n&eacute;ralisation de formats-texte, de v&eacute;rification et de transformation par programme s'est concr&eacute;tis&eacute;e depuis le " ;
00107     echo
" d&eacute;but des ann&eacute;es 2000 par l'installation progressive de
$xml et ses technologies $dtd, $xsd, $xsl." ;
00108     
finp() ;
00109     
00110     
finblockquote() ;
00111     
00112     
## -------------------------------------------------------------------------------------------
00113     
00114     
$nrub
++ ; $tdmCRLM->afficheRubrique("oui") ; # 2. Documents, tableaux et graphiques
00115     
00116     ## -------------------------------------------------------------------------------------------
00117     
00118     
blockquote() ;
00119     
00120     
p
("texte") ;
00121     echo
"Si la notion de "
.s_span("fichier","gvert")." est essentielle en ".s_span("informatique de programmation","gbleuf").", " ;
00122     echo
"celle de "
.s_span("document","gvert")." est fondamentale en ".s_span("informatique de communication","gbleuf").". \n" ;
00123     echo
"Un "
.s_span("document orient&eacute; communication","grouge")." est un fichier ".b("structur&eacute;").", ".b("mis en page").". \n" ;
00124     echo
"Il inclut souvent des tableaux, des images, des informations et des commentaires \n" ;
00125     echo
"ou des interpr&eacute;tations. \n" ;
00126     echo
"Mettre en page un tableau en respectant les normes de l'&eacute;dition ou de l'imprimerie \n" ;
00127     echo
"comme la justification &agrave; droite des nombres et la justification &agrave; gauche pour les \n" ;
00128     echo
"textes (comme dans l'affichage standard sous
$excel) n'est pas en soi compliqu&eacute;&nbsp;: \n" ;
00129     echo
"
$word sait le faire en automatique et fournit des menus et des icones pour le faire, $html dispose d'attributs comme " ;
00130     echo
href
("../selfhtml_fr/html/texte/titres.htm#aligner","align") ;
00131     echo
" ou \n" ;
00132     echo
"de propri&eacute;t&eacute;s
$css comme " ;
00133     echo
href
("../selfhtml_fr/css/proprietes/alignement.htm#text_align","text-align") ;
00134     echo
". Encore faut-il appliquer ces mises en forme \n" ;
00135     echo
"sur tous les &eacute;l&eacute;ments. \n" ;
00136     
finp() ;
00137     
00138     
00139     
p
("texte") ;
00140     echo
"C'est l&agrave; o&ugrave; la programmation de tels documents prend tout son sens&nbsp;: " ;
00141     echo
" il suffit de savoir programmer la lecture d'un fichier-texte qui contient les informations et l'&eacute;criture \n" ;
00142     echo
" d'un fichier-texte qui ajoute les codes, marqueurs ou balises pour justifier les \n" ;
00143     echo
" informations et le tour est jou&eacute;&nbsp;! \n" ;
00144     
finp() ;
00145     
00146     
p
("texte") ;
00147     echo
"Ainsi, le texte original qui suit (fichier "
.href("logement.txt").")" ;
00148     
finp() ;
00149     
00150     
pre_fichier
("logement.txt","cadre") ;
00151     
00152     
p
("texte") ;
00153     echo
"est illisible ou tr&egrave;s peu lisible avec un rendu \"brut\" dans un navigateur&nbsp;:" ;
00154     
finp() ;
00155     
00156     
p() ;
00157     echo
b
("Affichage brut")."&nbsp;:" ;
00158     
finp() ;
00159     
00160     
p
("cadre demiLargeur") ;
00161     echo
" \n" ;
00162     echo
"LIEU MI70 MX70 MI80 MX80 MI82 MX82 MI86 MX86 MI88 MX88 \n" ;
00163     echo
"PARI 24.0 41.0 102.0 156 120 200 220 280 230 350 \n" ;
00164     echo
"PA07 38.0 61.0 145.0 180 160 300 300 400 380 450 \n" ;
00165     echo
"MARS 14.0 22.0 45.0 68 62 100 75 110 70 130 \n" ;
00166     echo
"LYON 12.0 20.0 32.0 60 50 110 85 120 60 125 \n" ;
00167     echo
"TOLO 12.0 25.0 35.0 62 39 108 65 120 95 125 \n" ;
00168     echo
"NICE 20.0 47.0 60.0 140 71 200 75 300 65 300 \n" ;
00169     echo
"NANT 9.5 28.0 34.0 70 49 93 65 120 55 120 \n" ;
00170     echo
"STRA 12.0 28.0 48.0 72 55 90 55 115 56 130 \n" ;
00171     echo
"BORD 15.0 17.0 45.0 70 45 80 60 100 65 140 \n" ;
00172     echo
"MNTP 9.5 22.0 50.0 74 60 100 65 100 65 125 \n" ;
00173     echo
"AIXP 14.0 17.5 59.0 90 47 114 55 130 55 145 \n" ;
00174     echo
"NANC 12.5 19.0 39.0 70 50 95 45 100 60 115 \n" ;
00175     echo
"PRPG 9.5 16.0 43.0 68 58 100 70 110 60 110 \n" ;
00176     echo
"STLR 14.0 15.0 40.0 56 60 75 80 120 85 135 \n" ;
00177     echo
"LROU 13.0 17.0 57.0 71 85 95 75 120 100 135 \n" ;
00178     echo
"ANTB 15.0 25.0 50.0 100 82 217 90 300 90 300 \n" ;
00179     echo
"CANN 15.0 39.0 75.0 270 130 370 80 500 80 450 \n" ;
00180     echo
"STMX 15.0 24.0 60.0 85 90 160 80 170 70 160 \n" ;
00181     echo
"AR/M 12.0 18.0 48.0 60 60 100 70 120 70 140 \n" ;
00182     echo
"LGrM 12.0 25.0 35.0 90 56 122 75 130 80 140 \n" ;
00183     echo
"Arca 18.0 22.0 57.0 107 65 156 90 165 95 165 \n" ;
00184     echo
"Roya 15.0 20.0 50.0 90 62 138 90 160 100 150 \n" ;
00185     echo
"BAUL 14.0 28.0 70.0 120 70 160 100 250 120 270 \n" ;
00186     echo
"DEAU 14.0 20.0 55.0 100 71 120 65 160 70 160 \n" ;
00187     
finp() ;
00188     
00189     
p
("texte") ;
00190     echo
"Un simple ajouts de marqueurs en
$php via les instructions du fichier " ;
00191     echo
href
("montresource.php?nomfic=logement.php","logement.php")." suivant&nbsp;:" ;
00192     
finp() ;
00193     
00194     
pre_fichier
("logement.php","cadrejaune") ;
00195     
00196     
p
("texte") ;
00197     echo
"aboutit &agrave; un texte XHTML tout-&agrave;-fait lisible via son rendu dans un navigateur." ;
00198     
finp() ;
00199     
00200     
p() ;
00201     echo
b
("Code $xhtml")." produit par la commande ".b("php logement.php &gt; logement.html") ;
00202     echo
", soit le fichier "
.href("logement.html")." (extrait)&nbsp;:" ;
00203     
finp() ;
00204     
00205     
pre_fichier
("logement.html.txt","cadrejaune") ;
00206     
00207     
p() ;
00208     echo
b
("Rendu")." (extrait)&nbsp;:" ;
00209     
finp() ;
00210     
00211     
blockquote() ;
00212     include(
"logement.php.extrait") ;
00213     
finblockquote() ;
00214     
00215     
p
("texte") ;
00216     echo
"De plus un document
$web est accessible par programme. Ainsi le fichier " ;
00217     echo
href
("logement2.html")." peut &ecirc;tre interrog&eacute; et analys&eacute; par ce simple script $r&nbsp;:" ;
00218     
finp() ;
00219     
00220     
pre_fichier
("logement.r","cadrebleu") ;
00221     
00222     
p
("texte") ;
00223     echo
" pour produire les r&eacute;sultats suivants&nbsp;:" ;
00224     
finp() ;
00225     
00226     
pre_fichier
("logement.res","cadrejaune") ;
00227     
00228     
p
("texte") ;
00229     echo
"Pour les graphiques, si
$png ext un bon format binaire d'export, $svg est un format-texte ouvert, programmable, \n" ;
00230     echo
" interrogeable, animable via
$js notamment. \n" ;
00231     echo
" Vous pouvez par exemple cliquer sur le rectangle rouge ou le cercle vert " ;
00232     echo
" et le d&eacute;placer &agrave; l'aide de la souris en tenant le bouton gauche dans le dessin ci-dessous " ;
00233     echo
" (adapt&eacute; de "
.href("http://pilat.free.fr/routines/bouger.htm","pilat[...]bouger","gnoir nou").") &nbsp;:" ;
00234     
finp() ;
00235     
00236     
blockquote() ;
00237     
p() ;
00238     
debutobjet
("bouger","bouger.svg","image/svg+xml") ;
00239     
finobjet() ;
00240     
finp() ;
00241     
finblockquote() ;
00242     
00243     
p() ;
00244     echo
s_span
(b("Codes-source")."&nbsp;: ","orange_stim") ;
00245     echo
href
("montresource.php?nomfic=bouger.svg","SVG") ;
00246     echo
"&nbsp;; " ;
00247     echo
href
("montresource.php?nomfic=bouger.js","Javascript") ;
00248     echo
"." ;
00249     
finp() ;
00250     
00251     
p
("texte") ;
00252     echo
"Disposer des informations en format texte (quitte &agrave; ce que ce soit par exportation d'une base de donn&eacute;es) \n" ;
00253     echo
"laisse la possibilit&eacute; de les analyser, de les visualiser. \n" ;
00254     echo
"Le logiciel
$R est sans doute un excellent choix pour passer des donn&eacute;es initiales &agrave; des \n" ;
00255     echo
"statitiques r&eacute;sum&eacute;s et &agrave; des graphiques de visualisation. \n" ;
00256     echo
" Et si les donn&eacute;es sont au d&eacute;part au format
$xml, il suffit d'utiliser des transformations $xsl \n" ;
00257     echo
"pour obtenir un format texte,
$xml ou $xhtml. \n" ;
00258     
finp() ;
00259     
00260     
finblockquote() ;
00261     
00262     
00263     
## -------------------------------------------------------------------------------------------
00264     
00265     
$nrub
++ ; $tdmCRLM->afficheRubrique("oui") ; # 3. Documents papier et pages Web
00266     
00267     ## -------------------------------------------------------------------------------------------
00268     
00269     
blockquote() ;
00270     
00271     
p
("texte") ;
00272     echo
"La "
.b("diffusion des documents").s_span(" avant les ann&eacute;es 2000","grouge")." se faisait presque exclusivement via des " ;
00273     echo
" documents papier, que ce soit sous forme de livres ou de photocopies. La r&eacute;volution du
$web a " ;
00274     echo
" modifi&eacute; les modes de diffusion. En particulier les "
.s_span("documents $html","gbleuf")." ou ".s_span("\"pages Web\"","gbleuf")." ont invers&eacute; le " ;
00275     echo
" sch&eacute;ma de distribution&nbsp;: au lieu de diffuser des contenus, on les met &agrave; disposition. C'est &agrave; " ;
00276     echo
" l'utilisateur de venir les chercher. " ;
00277     
finp() ;
00278     
00279     
p
("texte") ;
00280     echo
"La volont&eacute; de partager des documents modifiables entre collaborateurs avec des ordinateurs diff&eacute;rents " ;
00281     echo
" a d&eacute;bouch&eacute; sur les "
.b("formats portables")." RTF pour les documents Word " ;
00282     echo
" et CSV pour les tableaux de donn&eacute;es des feuilles Excel, sur la g&eacute;n&eacute;ralisation de HTML comme " ;
00283     echo
" langage de traitement de textes et de mise en forme pour le
$web, sur l'installation massive de syst&egrave;mes " ;
00284     echo
" AMP (Apache, Mysql Php) et de fa&ccedil;on moins imm&eacute;diate pour le grand public, de XML comme m&eacute;talangage de formats " ;
00285     echo
" ouverts pour tous les documents structur&eacute;s. " ;
00286     
finp() ;
00287     
00288     
p
("texte") ;
00289     echo
"Avec tous ces formats-textes, il est possible d'&eacute;cire des documents en utilisant n'importe quel langage de programmation " ;
00290     echo
" car il suffit d'&eacute;crire de codes, des marqueurs, des balises, voire juste des points-virgules pour fournir un fichier " ;
00291     echo
" importable et convertible. MySQL lui-m&ecirc;me sait exporter dans les formats HTML et XML comme on peut le voir " ;
00292     echo
" sur cet extrait de sortie de l'"
.href("aide_mysql.txt","aide de MySQL")."&nbsp;:" ;
00293     
finp() ;
00294     
00295     
pre_fichier
("aide_mysql_courte.txt","cadre") ;
00296     
00297     
00298     
p
("texte") ;
00299     echo
"Produire des documents \"informationnels\" &agrave; l'aide de programmes informatiques est donc une activit&eacute; assez simple" ;
00300     echo
" qui demande seulement de savoir quels marqueurs programmer et o&ugrave; les ins&eacute;rer dans les fichiers-texte pour " ;
00301     echo
" obtenir le rendu souhait&eacute;. Toutefois, les mettre &agrave; disposition sur le
$web dans un format autre que PDF ou non " ;
00302     echo
" imprimable directement m&egrave;ne &agrave; des changements notables dans les documents. " ;
00303     
finp() ;
00304     
00305     
p
("texte") ;
00306     echo
"La premi&egrave;re plus grande diff&eacute;rence entre un document papier et un document
$web est la notion de "."page".". " ;
00307     echo
" Une page physique, que ce soit au format "
.b("letter US")." ou ".b("A4")." impose des contraintes pr&eacute;cises de mise en page alors " ;
00308     echo
" qu'un document
$web peut se contenter d'afficher en continu, sans limite de taille horizontale ou verticale. Les navigateurs $web " ;
00309     echo
" sont devenus en quelque sorte des visualiseurs universels, capables d'afficher des fichiers-textes tr&egrave;s longs comme " ;
00310     echo
href
("../wstat/Eda/edaData/polio.dar","ce fichier")." de 401 975 lignes. " ;
00311     echo
" Ou encore cet "
.href("../Idas/Ccd/leadb_710_fasta_aaa.dac.txt","autre fichier")." de 8002 colonnes." ;
00312     echo
" Bien configur&eacute;s, les navigateurs affichent des textes, des images, des animations et viennent d&eacute;l&eacute;guer aux logiciels install&eacute;s " ;
00313     echo
" les fichiers plus techniques comme des documents Word ou des documents Excel." ;
00314     
finp() ;
00315     
00316     
p
("texte") ;
00317     echo
"La deuxi&egrave;me plus grande diff&eacute;rence entre un document papier et un document
$web est la notion d' "."interactivit&eacute;".". " ;
00318     echo
" Ainsi, la programmation des pages
$web permet de mettre en ligne des contenus issus de bases de donn&eacute;es ou de programmes complexes " ;
00319     echo
" dont les entr&eacute;es sont lues dans des formulaires." ;
00320     
finp() ;
00321     
00322     
finblockquote() ;
00323     
00324     
00325     
## -------------------------------------------------------------------------------------------
00326     
00327     
$nrub
++ ; $tdmCRLM->afficheRubrique("oui") ; # 4. Outils logiciels pour la production automatis&eacute;e de documents
00328     
00329     ## -------------------------------------------------------------------------------------------
00330     
00331     
$sousrub
= 0 ;
00332     
blockquote() ;
00333     
00334     
$sousrub
++ ; h3($nrub.".".$sousrub." Graphviz et dot") ;
00335     
00336     
p
("texte") ;
00337     echo
"Pour produire des graphiques complexes mais structur&eacute;s comme des " ;
00338     echo
href
("http://fr.wikipedia.org/wiki/Th%C3%A9orie_des_graphes","graphes","gbleuf nou") ;
00339     echo
" (au sens informatique du terme) " ;
00340     echo
" dont des " ;
00341     echo
href
("http://fr.wikipedia.org/wiki/Arbre_%28graphe%29","arbres informatiques","gbleuf nou") ;
00342     echo
", une suite logicielle comme " ;
00343     echo
href
("http://en.wikipedia.org/wiki/Graphviz","Graphviz","gvert nou")." et en particulier son " ;
00344     echo
href
("http://en.wikipedia.org/wiki/DOT_%28graph_description_language%29","programme et langage dot","grouge nou") ;
00345     echo
" suffit. L'&eacute;criture des fichiers associ&eacute;s, de type "
.b(".dot")." ou, mieux, pour &eacute;viter un conflit " ;
00346     echo
" avec les fichiers de mod&egrave;les de "
.b("Microsoft Word").", de type ".b(".gv")." ou ".b(".gv.txt") ;
00347     echo
" se fait soit avec un simple &eacute;diteur de textes soit en programmant les instructions de "
.b("dot")."..." ;
00348     echo
" N'importe quel " ;
00349     echo
href
("../tuteurs/tutliste.htm","langage de programmation","gbleuf nou")." convient pour cela, mais un " ;
00350     echo
href
("http://fr.wikipedia.org/wiki/Langage_de_script","langage de script","gvert nou") ;
00351     echo
" est sans doute plus adapt&eacute; qu'un langage compil&eacute; traditionnel." ;
00352     
finp() ;
00353     
00354     
p
("texte") ;
00355     echo
"Voici par exemple le texte d'un fichier "
.b("DOT")." qui correspond &agrave; un graphe complet pour 3 sommets " ;
00356     echo
" nomm&eacute;s "
.b("A").", ".b("B")." et ".b("C")."&nbsp;:" ;
00357     
finp() ;
00358     
00359     
pre_fichier
("un.dot","cadrebleu") ;
00360     
00361     
p
("texte") ;
00362     echo
"Et son rendu en "
.b("PNG").", sachant que c'est le logiciel ".b("DOT")." qui choisit les coordonn&eacute;es de trac&eacute;&nbsp;:" ;
00363     
# trac&eacute; produit par : dot -T png un.dot -o un.png
00364     
finp() ;
00365     
00366     
pre
("cadre") ;
00367     
nbsp
(15) ;
00368     
$img
= "un.png" ;
00369      echo
href
($img,img($img)) ;
00370     
finpre() ;
00371     
00372     
p
("texte") ;
00373     echo
"Les options de
$dot permettent une gestion fine du placement des noeuds&nbsp;:" ;
00374     
finp() ;
00375     
00376     
pre_fichier
("triangle3.dot","cadrebleu") ;
00377     
00378     
pre
("cadre") ;
00379     
nbsp
(15) ;
00380     
$img
= "triangle3.png" ;
00381      echo
href
($img,img($img)) ;
00382     
finpre() ;
00383     
00384     
$sousrub
++ ; h3($nrub.".".$sousrub." SVG") ;
00385     
00386     
p
("texte") ;
00387     echo
"Pour des graphiques plus g&eacute;n&eacute;raux, un langage de description vectoriel 2D " ;
00388     echo
" comme "
.href("http://fr.wikipedia.org/wiki/Scalable_Vector_Graphics","SVG") ;
00389     echo
" est un bon choix. Technique mais simple " ;
00390     echo
" car " ;
00391     echo
href
("http://en.wikipedia.org/wiki/Scalable_Vector_Graphics","SVG","gbleuf nou") ;
00392     echo
" est un format " ;
00393     echo
href
("http://fr.wikipedia.org/wiki/Extensible_Markup_Language","XML","gbleuf nou") ;
00394     echo
", on peut &eacute;crire du "
.b("SVG")." avec un &eacute;diteur de textes, avec le logiciel " ;
00395     echo
href
("http://fr.wikipedia.org/wiki/Inkscape","Inkscape","gbleuf nou") ;
00396     echo
" ou par programme. On peut animer du "
.b("SVG")." avec ".href("http://fr.wikipedia.org/wiki/Javascript","Javascript","gbleuf nou") ;
00397     echo
" comme on peut le voir "
.href("http://www.draw4free.com/tutorial/chess/ChessNotationPlayer.html","ici")."." ;
00398     
finp() ;
00399     
00400     
p
("texte") ;
00401     echo
"Voici par exemple le texte d'un fichier SVG qui correspond &agrave; un mini-&eacute;chiquier de 3x3&nbsp;:" ;
00402     
finp() ;
00403     
00404     
pre_fichier
("chess3-3.svg","cadrebleu") ;
00405     
00406     
p
("texte") ;
00407     echo
"Et voici son rendu une fois export&eacute; en "
.b("PNG") ;
00408     echo
" (le \"vrai\" "
.b("SVG")." est ".href("chess3-3.svg","ici").") &nbsp;:" ;
00409     
finp() ;
00410     
00411     
pre
("cadre") ;
00412     
nbsp
(15) ;
00413     
$img
= "chess3-3.png" ;
00414      echo
href
($img,img($img,"",150)) ;
00415     
finpre() ;
00416     
00417     
$sousrub
++ ; h3($nrub.".".$sousrub." Le logiciel R") ;
00418     
00419     
p
("texte") ;
00420     echo
"Pour r&eacute;aliser des calculs statistiques et des graphiques statistiques, le " ;
00421     echo
href
("http://cran.r-project.org/","logiciel R","gbleuf nou")." ou ".b('"CRAN software"') ;
00422     echo
" et son langage de programmation " ;
00423     echo
" est certainement l'outil le plus adapt&eacute;. " ;
00424     
finp() ;
00425     
00426     
p
("texte") ;
00427     echo
"Voici par exemple le texte d'un script "
.b("R")." qui " ;
00428     echo
" affiche l'histogramme des fr&eacute;quences de codes-sexe&nbsp;:" ;
00429     
finp() ;
00430     
00431     
pre_fichier
("unr.r","cadrebleu") ;
00432     
00433     
p
("texte") ;
00434     echo
"Et l'image produite&nbsp;:"
; # via unr2.r
00435     
finp() ;
00436     
00437     
p() ;
00438     
nbsp
(15) ;
00439     
$img
= "unr.png" ;
00440      echo
href
($img,img($img,"",600)) ;
00441     
finp() ;
00442     
00443     
p
("texte") ;
00444     echo
"Bien s&ucirc;r rien n'emp&ecirc;che de produire un script "
.b("R")." &agrave; la vol&eacute;e, par exemple via " ;
00445     echo
" un script "
.b("PHP")." comme dans la page " ;
00446     echo
href
("../Leadb/index.php?action=12&amp;mode=2&amp;idp=1&amp;ndp=Length&amp;ndpl=Number+of+amino+acids","LEADB")."." ;
00447     
finp() ;
00448     
00449     
p
("texte") ;
00450     echo
"Avec ses " ;
00451     echo
href
("http://cran.r-project.org/web/packages/","milliers de packages") ;
00452     echo
" (plus de 5800 en juillet 2014),
$R permet aussi de traiter de nombreux calculs autant informatiques " ;
00453     echo
" que statistiques. Voici en quatre instructions comment tracer le graphe complet pr&eacute;c&eacute;dent&nbsp;:" ;
00454     
finp() ;
00455     
00456     
pre_fichier
("triangle.r","cadrebleu") ;
00457     
00458     
p
("texte") ;
00459     echo
"Et l'image produite&nbsp;:"
; # via triangle2.r
00460     
finp() ;
00461     
00462     
p() ;
00463     
nbsp
(15) ;
00464     
$img
= "rtriangle.png" ;
00465      echo
href
($img,img($img,"",300)) ;
00466     
finp() ;
00467     
00468     
$sousrub
++ ; h3($nrub.".".$sousrub." LATEX") ;
00469     
00470     
p
("texte") ;
00471     echo
"Pour des documents &agrave; imprimer ou &agrave; rendre sous un format PDF, le logiciel " ;
00472     echo
href
("http://fr.wikipedia.org/wiki/LaTeX","$LATEX")." est le meilleur outil. Utilis&eacute; au niveau professionnel dans l'imprimerie, " ;
00473     echo
" il est assez technique &agrave; maitriser mais tellement "
.b("complet")." qu'on ne peut pas lui en vouloir." ;
00474     echo
" Historiquement pr&eacute;vu pour &eacute;crire des documents math&eacute;matiques, on s'en sert aujourd'hui pour produire des documents de qualit&eacute;." ;
00475     
finp() ;
00476     
00477     
p
("texte") ;
00478     echo
"Le code
$LATEX suivant montre la formule de la ".b("correction relativiste").". " ;
00479     echo
" Le fichier PDF r&eacute;sultat est "
.href("unt.pdf","ici").". " ;
00480     
finp() ;
00481     
00482     
pre_fichier
("unt.tex","cadrebleu") ;
00483     
00484     
p
("texte") ;
00485     echo
"Voici une copie-&eacute;cran du rendu&nbsp;:" ;
00486     
finp() ;
00487     
00488     
pre
("cadre") ;
00489     
nbsp
(15) ;
00490     
$img
= "unt.png" ;
00491      echo
href
($img,img($img)) ;
00492     
finpre() ;
00493     
00494     
p
("texte") ;
00495     echo
"Le syst&egrave;me de base de
$LATEX est compl&eacute;t&eacute; par de nombreux packages dont l'un des plus connus est " ;
00496     echo
href
("http://tug.org/PSTricks/main.cgi?file=Examples/Gallery/Gallery","PSTricks").". " ;
00497     echo
" Revoici le graphe complet sur les trois sommets A, B et C avec ce package&nbsp;:" ;
00498     
finp() ;
00499     
00500     
pre_fichier
("triangle.tex","cadrebleu") ;
00501     
00502     
p
("texte") ;
00503     echo
"Et son rendu&nbsp;:" ;
00504     
finp() ;
00505     
00506     
pre
("cadre") ;
00507     
nbsp
(15) ;
00508     
$img
= "triangle.png" ;
00509      echo
href
($img,img($img)) ;
00510     
finpre() ;
00511     
00512     
$sousrub
++ ; h3($nrub.".".$sousrub." Sweave") ;
00513     
00514     
p
("texte") ;
00515     echo
"Comme
$LATEX dispose de commandes de programmation rudimentaires, le couplage de $LATEX et d'un langage de scripts se r&eacute;v&egrave;le " ;
00516     echo
" en g&eacute;n&eacute;ral tr&egrave;s efficace. En particulier le couple
$LATEX+$R est un bon compromis pour pallier &agrave; la faiblesse des affichages de R. " ;
00517     echo
" Ce couplage est notamment int&eacute;gr&eacute; dans " ;
00518     echo
href
("http://en.wikipedia.org/wiki/Sweave","$Sweave").". On trouve un exemple de \"gros\" manuel produit par $Sweave " ;
00519     echo
" &agrave; l'adresse "
.href("../Leadb/leaman/LEADBpart2.pdf","leadb stats part 2","gbleuf nou").". " ;
00520     echo
" Voici un extrait du code correspondant qui montre bien le m&eacute;lange
$LATEX et $R&nbsp;:" ;
00521     
finp() ;
00522     
00523     
pre_fichier
("uns.rnw","cadrebleu") ;
00524     
00525     
$sousrub
++ ; h3($nrub.".".$sousrub." PHP, Javascript et leurs biblioth&egrave;ques de fonctions") ;
00526     
00527     
p
("texte") ;
00528     echo
" Pour le
$web, des outils de trac&eacute; &agrave; la vol&eacute;e sont disponibles, notamment via Javascript et PHP." ;
00529     echo
" Outre les biblioth&egrave;ques g&eacute;n&eacute;ralistes comme "
.href("http://jpgraph.net/","jpgraph")." et " ;
00530     echo
href
("http://dmitrybaranovskiy.github.io/raphael/","raphael").", " ;
00531     echo
" deux biblioth&egrave;ques bas&eacute;es sur le m&ecirc;me concept de " ;
00532     echo
b
(" data driven documents")." sont, selon nous, &agrave; connaitre absolument&nbsp;: " ;
00533     echo
href
("http://mbostock.github.io/protovis/","protovis")." et " ;
00534     echo
href
("http://d3js.org/","d3js").". " ;
00535     
finp() ;
00536     
00537     
# ajouter des images, une d&eacute;mo ?
00538     
00539     
00540     
p
("texte") ;
00541     echo
"Voici un exemple de trac&eacute; avec "
.href("http://raphaeljs.com/","raphael")." (voir ".href("raphael.php")." pour les codes-source)&nbsp;:" ;
00542     
finp() ;
00543     
00544     
div
("","page") ;
00545     
jsf
("raphaeldemo.js") ;
00546     
findiv() ;
00547     
00548     
00549     
finblockquote() ;
00550     
00551     
00552     
## -------------------------------------------------------------------------------------------
00553     
00554     
pvide() ;
00555     
00556     
p() ;
00557     echo
href
("montresource.php?nomfic=formats.php","Code-source de cette page","orange_stim nou")."." ;
00558     
finp() ;
00559     
00560     
00561     
finSection() ;
00562     
finPage() ;
00563     
?>

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)